Как сохранить данные из динамических Rails форма 4?

Рейтинг: 1Ответов: 0Опубликовано: 12.11.2014

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

#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"}
],

И в контроллере это разбивать на отдельные сегменты и сохранять в отдельные ячейки...
Но, к сожалению, я не понимаю, как произвести данное действие.

Ответы

Ответов пока нет.