我有一个MyModel
带有序列化属性的模型a
,描述了一组符号。
此代码有效:
<% form_for @my_model do |f| %>
<%= f.select :a, MyModel::AS, :multiple => true) %>
<% end %>
参数正确:
{ :my_model => { :a => [:a_value1, :a_value2] } }
我想将此多选转换为一组复选框,如下所示:
<% form_for @my_model do |f| %>
<% MyModel::AS.each do |a_value|
<%= f.check_box(:a_value) %>
<% end %>
<% end %>
它也可以,但是参数根本不一样:
{ :my_model => { :a_value1 => 1, :a_value2 => 1 } }
我想了两个解决方案来返回第一个解决方案......
- 当用户点击 check_box_tags 时,将my
check_box
转换为、替换多项选择并添加一些 javascript 以“检查”选择值。check_box_tag
然后,参数将直接在控制器中相同。 - 在控制器中添加一个小代码以“调整”我的参数。
什么解决方案不那么难看?或者还有其他的吗?