У меня есть модель 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 решениях для возврата к первому решению...
- Преобразуйте my
check_box
вcheck_box_tag
, замените множественный выбор и добавьте некоторый javascript для "проверки", чтобы выбрать значения, когда пользователь кликает по check_box_tags. Затем параметр будет таким же непосредственно в контроллере. - Добавить код litte в контроллер для "адаптации" моих параметров.
Какое решение менее уродливое? Или есть другой?