Ruby On Rails f.checkbox隐藏字段

时间:2017-03-13 14:47:56

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

我在这样的rails表单上有一个复选框:

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

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

1 个答案:

答案 0 :(得分:0)

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