0

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

4

1 回答 1

0

因此,我实际上没有使用一年的哈希值,而是为一年创建了一个新模型,并从那里将每个属性存储为哈希值。

于 2015-08-16T08:37:35.403 回答