我有一個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