Модель Company
preferences
поле jsonb :
Company.new.preferences
=> { display_settings: { attr1: "" }}
Следующее html input
поле должно быть создано с тегом simple_form
simple_fields_for
<input type="text" name="company[preferences][display_settings][attr1]">
Я могу только input
отрендерить name="company[preferences][attr1]"
, следуя этим инструкциям , и он будет сохранен в базе данных:
Company.last.preferences
=> { attr1: "" }
Я использую следующее erb
:
<% preferences = PreferencesDecorator.new(@company.preferences["display_settings"])
f.simple_fields_for(preferences) do |field|
preferences.each do |key, value| %>
<label for="<%= key %>"><%= key %></label>
<%= field.input_field key %>
<% end
end %>