获取所有选中的复选框值

时间:2015-02-27 21:08:02

标签: javascript ruby-on-rails forms controller

我有以下表格:

<%= form_for([company,service], :remote => true) do |f| %>
    <%= health_care_insurances.each do |hc_insurance| %>
        <label><%= hc_insurance.name %></label>
        <input id="health_care_insurance_<%= user.id %>" name="<%= hc_insurance.id %>" value="<%= hc_insurance.id %>" type="checkbox"><br/>
    <% end %>
    ...
<% end %>

当它被提交时,为了获得良好的性能,我想获得一个包含所有“hc_insurance.ids”的数组。我知道我可能会使用javascript将它们添加到hidden_​​field然后从那里拿起它们,但我不确定这是一个好方法。

是否有任何轨道方式从控制器中取出它们?

1 个答案:

答案 0 :(得分:0)

使复选框的所有名称与数组框相同,如下所示(这样只会将选中的值提交给后端)

<input id="health_care_insurance_<%= user.id %>" name="health_care_insurence_ids[]" value="<%= hc_insurance.id %>" type="checkbox"><br/>

获取控制器中所有health_care_insurence的id(假设health_care_insurence是单个模型)。

HealthCareInsurence.pluck(:id)