Текстовые поля из массива в Rails - PullRequest
1 голос
/ 09 августа 2011

Я пытаюсь сгенерировать набор текстовых полей для массива с помощью Rails 2.3. У меня есть массив в моем контроллере (который не часть модели), и я хотел бы сделать текстовое поле для каждой записи. Массив выглядит так:

@ages = [1, 3, 7] # defaults

Затем я хотел бы создать 3 текстовых поля в моем представлении со значениями 1, 3 и 7 и заполнить массив значениями пользователя при отправке.

Я нашел кучу вещей в Google и здесь, но ни один из них, похоже, не работал для меня. Я уверен, что это легко в Rails ...

1 Ответ

10 голосов
/ 09 августа 2011

Rails может сериализовать коллекции, что должно упростить это.

Если вы называете свои входные данные как 'field []', как вы видите:

<% @ages.each do |age| %>
  <%= text_field_tag 'ages[]', age %>
<% end %>

Тогда вы можете получить доступ ко всем "возрастам" в вашем контроллере при отправке:

@ages = params[:ages]  # ['1', '3', '7']
...