У меня есть модель, которая имеет атрибут, который является массивом. Каким образом я могу заполнить этот атрибут из представления формы?
Я знаю, что есть ввод формы с полем, имя которого содержит скобки, создает хеш из ввода. Должен ли я просто взять это и пройти через него в контроллере, чтобы массировать его в массив?
Пример, чтобы сделать его менее абстрактным:
class Article
serialize :links, Array
end
Переменная ссылок принимает форму массива URL-адресов, т.е. [["http://www.google.com"], ["http://stackoverflow.com"]]
Когда я использую что-то вроде следующего в моей форме, он создает хэш:
<%= hidden_field_tag "article[links][#{url}]", :track, :value => nil %>
Полученный хеш выглядит следующим образом:
"links" => {"http://www.google.com" => "", "http://stackoverflow.com" => ""}
Если я не укажу URL-адрес в названии ссылки, дополнительные значения clobber друг друга:
<%= hidden_field_tag "article[links]", :track, :value => url %>
Результат выглядит следующим образом: "links" => "http://stackoverflow.com"