Ruby on rails 如何从动态表单Rails 4保存数据

Ruby on rails 如何从动态表单Rails 4保存数据,ruby-on-rails,database,model-view-controller,controller,Ruby On Rails,Database,Model View Controller,Controller,将表单中的数据保存到数据库时遇到问题。阅读了很多手册和文章,我还没有找到一个适合我的信息。问题: 我有一个数据库: 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 在添加/编辑产品时,您需要制作一个动态表单

将表单中的数据保存到数据库时遇到问题。阅读了很多手册和文章,我还没有找到一个适合我的信息。问题:

我有一个数据库:

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
在添加/编辑产品时,您需要制作一个动态表单来存储。我想电池应该是这样的:

 #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...'
此字段用于发送请求:

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

通过每个方法将其分解为控制器。但我现在不知道怎么办。

不明白你的问题。你想做什么?散列数组?比如什么?理想情况下,看起来像: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}],通过每个方法将其分解到控制器中。但我现在不知道如何。据我所知,您希望在一次提交中创建多个对象,对吗?是的,存储在数据库的单独单元格中,而不是一个字段中