我有一个MyModel
的模型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
到,取代多个选择,并添加一些JavaScript来“检查”选择值,当用户对CLIC check_box_tags。然后,参数将直接在控制器中相同。 - 在控制器中添加一个litte代码来“调整”我的参数。
什么解决方案是不那么丑陋?或者还有其他的吗?
在末端传递'nil',它会按预期工作检查[this](http://apidock.com/rails/ActionView/Helpers/FormHelper/check_box) – Viren 2013-04-11 06:23:14
@Viren感谢提示。 – pierallard 2013-04-15 06:57:11
如果你愿意,请编辑你的答案,那里也有一个错字。在<%MyModel :: AS.each之后| a_value |'需要'%>'之后。只是说 – ksugiarto 2013-06-22 09:41:23