我有以下表格:
<%= 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然后从那里拿起它们,但我不确定这是一个好方法。
是否有任何轨道方式从控制器中取出它们?
答案 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)