Как сохранить данные из динамических Rails форма 4?
Просмотрел много материала, но так и не смог найти то, что мне нужно в решении моей проблемы. У меня есть форма создания нового продукта, на ней динамически добавляется поле:
#app/products/new.html.haml
...
%p
= f.label :colors
%br
= f.fields_for @storage do |color|
= color.collection_select :pro_color_id, ProductColor.order(:title), :id, :title, include_blank: 'Select color...'
%p
= f.label :sizes
%br
= f.fields_for @storage do |size|
= size.collection_select :pro_size_id, ProductSize.order(:title), :id, :title, include_blank: 'Select size...'
В базе данных прописана таблица:
create_table "product_storage", :force => true do |t|
t.integer "pro_size_id"
t.integer "pro_color_id"
t.integer "product_id"
t.integer "count"
end
Как мне после заполнения динамической формы с разным количеством этих связных в кучку полей сохранить в базу данных?
Post запрос получаю в виде хэша:
"product_storage"=>{"pro_color_id"=>"1","pro_size_id"=>"1"}
По логике я понимаю, что нужно как-то создавать массив из этих ячеек наподобие:
"product_storage"=>[
{"pro_color_id"=>"1","pro_size_id"=>"1"},
{"pro_color_id"=>"1","pro_size_id"=>"2"},
{"pro_color_id"=>"1","pro_size_id"=>"3"}
],
И в контроллере это разбивать на отдельные сегменты и сохранять в отдельные ячейки...
Но, к сожалению, я не понимаю, как произвести данное действие.
Источник: Stack Overflow на русском