Благодаря помощи людей ранее я получаю возможность сериализации вложенного хэша в один столбец. Хотя мне удалось сформировать поля формы на нескольких уровнях и вернуть значения полей в строку, я не могу сохранить разные уровни для хэша.Поддержание вложенных уровней при сериализации поля, сгенерированного с помощью полей_поля
Мой хэш выглядит следующим образом:
Мой код выглядит следующим образом:
<% categoryvalue.each do |categoryproperty, categorypropertyvalue| %>
<div>
<%= f.fields_for :categories, categoryproperty do |categoryattribs| %>
<%= categoryattribs.label categoryproperty %> <br/>
<%= categoryattribs.text_field categoryproperty, :value => categorypropertyvalue %> <br/>
<% end %>
</div>
<% end %>
Конечный хэш строки в моем примере принимает данные по двум категориям и должны выглядеть примерно следующим образом строка, когда она будет назначена: категориям должно выглядеть следующим образом:
{"0" => {"Active"=>"yes", "totalproducts"=>"100", "segment"=>"Premium"}, "1" => "Active"=>"yes", "totalproducts"=>"190"}}
Однако строка приходит в следующем виде:
{"Active"=>"yes", "totalproducts"=>"100", "segment"=>"Premium", "Active"=>"yes", "totalproducts"=>"190"}
Есть ли способ, чтобы дифференцировать атрибуты одной категории от другой и иметь два отдельных хэшей в основной хэш? Сейчас все выравнивается до одного уровня. Это очевидно в том, как генерируются идентификаторы и имена для полей ввода. Смотрите пример ниже:
<input id="product_categories_Active" name="product[categories][Active]" size="30" type="text" value="%" />
<input id="product_categories_Active" name="product[categories][Active]" size="30" type="text" value="lbs" />
То, что я на самом деле хочу это продукт [категория] [0] [Active] и продукты [категория] [1] [Активный].
Любые предложения о том, как подойти к этому?