Ruby on Rails:如何提交复选框形式?

时间:2010-07-22 19:11:56

标签: ruby-on-rails

我有一个对象:@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'代表#`

4 个答案:

答案 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)

问题是我正在访问错误的控制器。我将表单移动到适当的视图(无论如何都对可用性更有意义)并且它有效。