【问题标题】:Multiple Checkboxes, Convert to String, Single DB Column Rails多个复选框,转换为字符串,单个 DB 列导轨
【发布时间】:2026-01-09 08:35:01
【问题描述】:

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

我想要做的是获取所选复选框的值,用逗号分隔它们,然后将它们保存在数据库的列中。因此,如果选中了苹果和橙色复选框,则会保存为:

@inventory.fruit = "苹果,橙子"

我该怎么做?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】: