我有一个对象:@object 有大量的布尔字段。
现在。根据HTML规范,如果未选中复选框,则不会发送该值。
哪个是问题......因为我需要这些信息。
我如何解决这个问题? f.check_box的api建议使用fields_for ... http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#M002298
但是我无法弄清楚@ object.is_admin
的语法= \
目前,没有改变任何事情:我有这个:
<% form_for @object do |f| %>
<td><%= f.check_box :allow_downloads, :label => false %></td>
.
.
.
错误:undefined method
to_i'代表#`
答案 0 :(得分:1)
你不应该担心什么。
如果查看check_box帮助程序生成的代码,您将看到rails创建一个隐藏字段,表示未经检查的值。 当您选中该框时,它将优先于隐藏字段,因为它在它之后声明:
<input type="hidden" />
<input type="checkbox" />
答案 1 :(得分:0)
该文档所描述的复选框的自动生成的隐藏字段是否不适合您?
答案 2 :(得分:0)
<% f.check_box
中没有'='。它应该是<%= f.chec_box...
此外,如果所有字段都是布尔值,则可以将它们全部设置为false,并且仅将通过请求的字段设置为true。
答案 3 :(得分:0)
问题是我正在访问错误的控制器。我将表单移动到适当的视图(无论如何都对可用性更有意义)并且它有效。