「collection_select,多=>真正的」多「check_box」選項如何更換collection_select
(與:multiple => true
)帶的check_box
選項,列表使得存在在每個對象check_box
選項採集?替換:在Rails的
是否有優雅使用表單構建器實現此目的的方法(即不使用*_tag
助手)?我想盡可能地依靠ActiveRecord的內置功能...
「collection_select,多=>真正的」多「check_box」選項如何更換collection_select
(與:multiple => true
)帶的check_box
選項,列表使得存在在每個對象check_box
選項採集?替換:在Rails的
是否有優雅使用表單構建器實現此目的的方法(即不使用*_tag
助手)?我想盡可能地依靠ActiveRecord的內置功能...
我不認爲有一個內置的「優雅」的方式來做到這一點。
這railscast應該讓你去,不過:
你可以做這樣的(使用HAML例子)。
%fieldset
Colors I like
- %w[red blue].each do |color|
= f.label color
= f.check_box :colors_liked, {multiple: true}, color, nil
末的nil
選項防止滑軌從同名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">
當表單提交,這些參數將包含的檢查選項的值的數組。