我有一个表单,其中包含大约20个不同的复选框。像这样:
<%= form_for @inventory do |f| %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
...
<p>
<%= f.check_box :apple %><%= f.label :apple %><br />
<%= f.check_box :banana %><%= f.label :banana %><br />
<%= f.check_box :orange %><%= f.label :orange %>
...
</p>
...
<% end %>
我想要做的是获取所选复选框的值,用逗号分隔它们,并将它们保存在db中的一列中。因此,如果选中了apple和orange复选框,则会另存为:
@ inventory.fruit =“apple,orange”
我该怎么做?
答案 0 :(得分:5)
我认为我们不能将多个值作为字符串而不是数组发送。请看下面的解决方案
In Rails, how to handle multiple checked checkboxes, just split on the , or?
解决方案采用纯HTML
代码,但您可以改为使用check_box_tag
。