为什么我未选中的 f.check_boxes 在 rails 中给出默认值“1”?

Why are my unchecked f.check_boxes giving default value of "1" in rails?

我在下面有一个复选框。它呈现正确(未选中)但提交值为“1”。我希望未选中的框具有默认值 0。

<%= builder.check_box :content, :class=>"yesno", :data => {:'on-text' =>"YES", :'off-text' =>"NO", :question => question.id} %>

想法?

你需要做的

<%= builder.check_box :content, {:class=>"yesno", :data => {:'on-text' =>"YES", :'off-text' =>"NO", :question => question.id}}, 0, 1 %>

根据 check_box 文档:

The checked_value defaults to 1 while the default unchecked_value is set to 0 which is convenient for boolean values.