Как Вы устанавливаете пользовательский идентификатор при использовании check_box_tag помощника в направляющих?
У меня есть цикл, который создает набор флажков на основе набора:
- subject.syllabus_references.each do |sr|
= check_box_tag 'question[syllabus_reference]', sr.id, :id => sr.id
= label_tag sr.id, sr.name
Я хотел бы установить пользовательский идентификатор так, чтобы моя Маркировка для флажка работала правильно, но я, может казаться, не выясняю как (: идентификатор => sr.id не работает...).
Проблема могла бы также быть со способом, которым я определил маркировку, поэтому если бы я могу заставить это ссылаться на корректный флажок, не устанавливая пользовательский идентификатор тогда, это было бы прекрасно также...
Я использовал это в своем приложении для создания тегов checkbox из коллекции и отправки их массива:
<% @cursos.each do |c| %>
<span class='select_curso'>
<%= check_box_tag "vaga[curso_ids][]",
c.id, (checked = true if form.object.curso_ids.include?(c.id)) %>
<%= label_tag "vaga[curso_ids][][#{c.id}]", c.nome %>
</span>
<% end %>
Таким образом, в params у меня массив "curso_ids"=>["1", "3", "5"] вместо строки "curso_ids"=>"5". Если вы хотите вернуть одно значение, используйте vaga[curso_id], иначе используйте vaga[curso_ids][], чтобы вернуть массив.
Кажется, я разобрался...
- subject.syllabus_references.each do |sr|
= check_box_tag "question[syllabus_reference][#{sr.id}]", sr.id
= label_tag "question[syllabus_reference][#{sr.id}]", sr.name
Это работает, но если у вас есть лучший способ, дайте мне знать!