Ruby on rails 更换';集合_选择,:多个=>;正确';具有多个';选中复选框';Rails中的选项
如何用Ruby on rails 更换';集合_选择,:多个=>;正确';具有多个';选中复选框';Rails中的选项,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,如何用复选框选项列表替换集合(使用:multiple=>true),以便集合中的每个对象都有一个复选框选项 是否有一种优雅的方法可以使用表单生成器(即不使用*.\u标记助手)来实现这一点?我希望尽可能地依靠ActiveRecord的内置功能…我认为没有一种内置的“优雅”方式可以做到这一点 不过,这辆火车应该能让你走了: (文本版本n) 您可以这样做(例如使用HAML) 末尾的nil选项可防止Rails以相同的名称构建一个隐藏的复选框,该复选框的值为0,如果要进行多次选择,您肯定不希望这样做
复选框
选项列表替换集合
(使用:multiple=>true
),以便集合中的每个对象都有一个复选框
选项
是否有一种优雅的方法可以使用表单生成器(即不使用
*.\u标记
助手)来实现这一点?我希望尽可能地依靠ActiveRecord的内置功能…我认为没有一种内置的“优雅”方式可以做到这一点
不过,这辆火车应该能让你走了:
- (文本版本n)
- 您可以这样做(例如使用HAML)
末尾的
nil
选项可防止Rails以相同的名称构建一个隐藏的复选框,该复选框的值为0,如果要进行多次选择,您肯定不希望这样做
这将产生:
<label for="colors_liked_red">Red</label>
<input id="my_form_colors_liked_red" \
name="my_form[colors_liked][]" type="checkbox" value="red">
<label for="colors_liked_blue">Blue</label>
<input id="my_form_colors_liked_blue" \
name="my_form[colors_liked][]" type="checkbox" value="blue">
红色
蓝色
提交表单时,参数将包含选中选项的值数组
<label for="colors_liked_red">Red</label>
<input id="my_form_colors_liked_red" \
name="my_form[colors_liked][]" type="checkbox" value="red">
<label for="colors_liked_blue">Blue</label>
<input id="my_form_colors_liked_blue" \
name="my_form[colors_liked][]" type="checkbox" value="blue">