【发布时间】:2013-04-09 10:31:58
【问题描述】:
我有一个模型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 } }
我想到了2个解决方案返回第一个解决方案...
- 将我的
check_box转换为check_box_tag,替换多选,并添加一些javascript 以在用户单击check_box_tags 时“检查”选择值。然后,参数将直接在控制器中相同。 - 在控制器中添加一个小代码以“调整”我的参数。
什么解决方案不那么丑?或者还有其他的吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-2