Несколько Выбор в форме, как дать каждому уникальное имя? - PullRequest
0 голосов
/ 16 марта 2019

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

В настоящее время параметры дают только выбранное значение последней строки.

Вот что у меня есть:

<% @my_fields.each do |field| %>
  <tr><td><%= form.collection_select(:ServiceTypeID, @service_levels, :ServiceTypeID, :ServiceName) %></td></tr>
<% end %>

В моих тестовых данных десять строк.

В настоящее время я получаю только один параметр, который относится к последнему выбору, я думаю, мне нужно уникально назвать каждое из них, в идеале с field.FieldID, который уникален. Я не могу понять, где / как назвать коллекцию.

Спасибо за любые рекомендации.

1 Ответ

2 голосов
/ 16 марта 2019

Проверьте метод collection_select ( источник ):

collection_select (объект, метод, коллекция, value_method, text_method, options = {}, html_options = {})

Вы можете переопределить атрибут select name в хэше html_options:

<% @my_fields.each_with_index do |field, index| %>
  <tr>
    <td>
      <%= form.collection_select(:ServiceTypeID, @service_levels, :ServiceTypeID, :ServiceName, {}, { name: "my_name_#{index}" }) %>
    </td>
  </tr>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...