在我看来,我有几个复选框,我想发回一个被选中的数组。我通过自己编写 HTML 实现了这一点,但我想知道是否有办法使用FormBuilder#check_box
.
我有什么工作
<%= form_with model: @dog, local: true do |my_form| %>
<label>
<input type="checkbox"
name="dog[breeds][]"
value="labrador">
Labrador
</label>
<label>
<input type="checkbox"
name="dog[breeds][]"
value="husky">
Husky
</label>
<%= my_form.submit 'Save' %>
<% end %>
这完美地工作:params
包含我所期望的。如果我选中“husky”框并提交,“breeds”数组包含“husky”:
"dog"=>{"breeds"=>["husky"]}
但我想知道是否有办法使用my_form.check_box
它,而不是自己写出复选框 HTML。
我尝试过的FormBuilder#check_box
<%= form_with model: @dog, local: true do |my_form| %>
<label>
<%= my_form.check_box 'breeds[]', value: 'labrador'%>
Labrador
</label>
<label>
<%= my_form.check_box 'breeds[]', value: 'husky'%>
Husky
</label>
<%= my_form.submit 'Save' %>
<% end %>
这不符合我的期望。在 中params
,无论我选中哪个框,“breeds”数组始终为空:
"dog"=>{"breeds"=>[]}
有没有办法使用FormBuilder
助手来做我想做的事情?
似乎真的应该有,但我无法在任何地方找到它。