我正在为我的应用程序探索动态表单,目前我想构建一个嵌套哈希,并且目前正在关注Railscasts' ep 403。因此,以下是我的模型和形式:
型号:
class Product < ActiveRecord::Base
belongs_to :product_type
serialize :properties, Hash
end
形式:
<%= f.hidden_field :product_type_id %>
<%= f.fields_for :properties, OpenStruct.new(@product.properties) do |builder| %>
<% @product.product_type.fields.each do |field| %>
<%= render "products/fields/#{field.field_type}", field: field, f: builder %>
<% end %>
<% end %>
我得到的输出是:
"properties"=>{"Name"=>"Great Prod", "Remarks"=>"Super!", "Year"=>"2015"}
数据结构视图:
- properties
-- Name: "Great Prod"
-- Remarks: "Super!"
-- Year: "2015"
我在寻找的是:
"properties"=>{"2015"=>{"Name"=>"Great Prod", "Remarks"=>"Super!"}}
数据结构视图:
- properties
-- "2015"
--- Name: "Great Prod"
--- Remarks: "Super!"
如何实现上述目标?谢谢!
编辑1:更正了上述的预期哈希并添加了简单的数据结构视图。