Используйте пользовательский идентификатор для check_box_tag в направляющих

Как Вы устанавливаете пользовательский идентификатор при использовании 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 не работает...).

Проблема могла бы также быть со способом, которым я определил маркировку, поэтому если бы я могу заставить это ссылаться на корректный флажок, не устанавливая пользовательский идентификатор тогда, это было бы прекрасно также...

16
задан Ganesh Shankar 2 March 2010 в 02:06
поделиться

2 ответа

Я использовал это в своем приложении для создания тегов 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][], чтобы вернуть массив.

18
ответ дан 30 November 2019 в 15:35
поделиться

Кажется, я разобрался...

- 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

Это работает, но если у вас есть лучший способ, дайте мне знать!

3
ответ дан 30 November 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: