多个复选框,转换为字符串,单个DB列Rails

时间:2011-08-01 17:06:29

标签: ruby-on-rails ruby-on-rails-3 forms webforms checkbox

我有一个表单,其中包含大约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”

我该怎么做?

1 个答案:

答案 0 :(得分:5)

我认为我们不能将多个值作为字符串而不是数组发送。请看下面的解决方案

In Rails, how to handle multiple checked checkboxes, just split on the , or?

解决方案采用纯HTML代码,但您可以改为使用check_box_tag