我在这样的rails表单上有一个复选框:
.columns.small-1
= f.label :private
= f.check_box :private
如果取消选中此框,则表单会正确发送,并传递一个值。如果选中该框,则表单会发送两次相同的字段,其中一个值为0,一个为1,这导致该框始终显示为未选中“并且值为0.一直在研究rails中的隐藏字段但不确定如何适用于这个问题。
答案 0 :(得分:0)
这是正常行为。默认情况下,f.check_box
呈现值为0的隐藏字段。在该隐藏字段之后,它将呈现类型为“checkbox”的输入字段,其值为1.输入字段和隐藏字段具有相同的名称。当这两个值都发送到服务器时,后面的值(复选框)将覆盖具有该名称的参数值。这应该自动为您完成,除非您尝试手动解析参数。