【问题标题】:Ruby On Rails f.checkbox hidden fieldRuby On Rails f.checkbox 隐藏字段
【发布时间】:2017-08-03 15:22:27
【问题描述】:

我在 Rails 表单上有一个复选框,如下所示:

      .columns.small-1
       = f.label :private
       = f.check_box :private

如果未选中该框,则表单会正确发送并传递一个值。如果选中该框,则表单将相同的字段发送两次,其中一个值为 0,一个为 1,这导致该框始终显示为未选中”并且值为 0。一直在研究 rails 中的隐藏字段,但不确定如何应用于这个问题。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 checkbox


    【解决方案1】:

    这是正常行为。默认情况下,f.check_box 会渲染一个值为 0 的隐藏字段。在该隐藏字段之后,它会渲染一个值为 1 的“复选框”类型的输入字段。输入字段和隐藏字段具有相同的名称。当这两个值都发送到服务器时,后面的值(复选框)将覆盖具有该名称的参数值。这应该会自动为您完成,除非您尝试手动解析参数。

    【讨论】:

    • 也许我遗漏了什么,但这种行为背后的技术要求是什么?
    • @DavidGay 因为这样你会提交未选中的复选框,否则未选中的值将永远不会到达服务器。
    猜你喜欢
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多