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

god*_*yan 5 forms checkbox webforms ruby-on-rails ruby-on-rails-3

我有一个表单,除其他外,包含大约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 %>
Run Code Online (Sandbox Code Playgroud)

我想要做的是获取所选复选框的值,逗号分隔它们,并将它们保存在数据库的列中.因此,如果选中了apple和orange复选框,则会另存为:

@ inventory.fruit ="苹果,橙"

我该怎么做呢?

ash*_*ai_ 5

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

在Rails中,如何处理多个已选中的复选框,只需拆分,或?

解决方案是纯HTML代码,但您可以使用check_box_tag.