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