Arrays 使用带有“”的“form_”返回数组?
在我看来,我有几个复选框,我想返回一个被选中的数组。我通过自己编写HTML实现了这一点,但我想知道是否有一种方法可以使用Arrays 使用带有“”的“form_”返回数组?,arrays,ruby-on-rails,formbuilder,form-with,Arrays,Ruby On Rails,Formbuilder,Form With,在我看来,我有几个复选框,我想返回一个被选中的数组。我通过自己编写HTML实现了这一点,但我想知道是否有一种方法可以使用FormBuilder\check_box实现这一点 我的工作 拉布拉多 深沉沙哑的 这非常有效:params包含我所期望的内容。如果我选中“赫斯基”框并提交,“品种”数组包含“赫斯基”: “狗”=>{“品种”=>[“哈士奇”]} 但是我想知道是否有一种方法可以使用我的表单。为此,请选中复选框,而不是自己写下复选框HTML 我为FormBuilder>所做的尝试复选框
FormBuilder\check_box
实现这一点
我的工作
拉布拉多
深沉沙哑的
这非常有效:params
包含我所期望的内容。如果我选中“赫斯基”框并提交,“品种”数组包含“赫斯基”:
“狗”=>{“品种”=>[“哈士奇”]}
但是我想知道是否有一种方法可以使用我的表单。为此,请选中复选框,而不是自己写下复选框HTML
我为FormBuilder>所做的尝试复选框
拉布拉多
深沉沙哑的
这不符合我的期望。在参数中
,无论我选中哪个框,“品种”数组始终为空:
“狗”=>{“品种”=>[]
有没有办法使用FormBuilder
帮助程序来完成我要做的事情?
看起来真的应该有,但我在任何地方都找不到。你应该可以这样做:
<%= form_with model: @dog, local: true do |my_form| %>
<% ['labrador','husky'].each do |breed| %>
<%= my_form.check_box :breeds, {multiple: true}, breed%>
<%= my_form.label :breeds, breed.titleize %>
<%end%>
<%= my_form.submit 'Save' %>
<% end %>
复选框
的签名是(对象名称、方法、选项={},选中值为1,未选中值为0”)
由于您使用的是表单生成器,对象名称
可以省略,因为它将是我的表单
所以我们通过:
- 方法
:繁殖
选项
{multiple:true}
以创建一个集合
- 选中的
值将是品种名称