如何通过动态表单创建嵌套哈希

时间:2015-08-06 00:34:49

标签: ruby-on-rails hash dynamicform

我正在为我的应用程序探索动态表单,目前我想构建一个嵌套哈希,并且目前正在关注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:更正了上述的预期哈希并添加了简单的数据结构视图。

0 个答案:

没有答案