Я использую Rails 'form_for
и fields_for
, чтобы получить форму для вложенного атрибута json
, но у меня нет значения при редактировании и вам нужно установить значение вручную:Вложенная модель неактивнойRecord не принимает значения модели
<%= f.fields_for :json do |ff| %>
<%= ff.text_field :attr, value: @app_configuration.json.attr %>
<% end%>
для того, чтобы получить мой JSON атр, чтобы быть читаемым я делаю это на моем контроллере:
@app_configuration.json = OpenStruct.new(JSON.parse(@app_configuration.json))
Почему я должен вручную Ассинг значения?
Как ff.text_field
искать значение атрибута?
Спасибо, что указали это, но это была ошибка копирования/вставки от меня. Я использую переменную builder 'ff'. Просто обновил код. –
Не могли бы вы проверить объект формы и убедиться, что это значение существует? Вы можете проверить это в контроллере с помощью 'logger.debug {obj.inspect}' или в файле вида с '<% = f.object.inspect%>' после объявления 'form_for'. – vee
Я просто попробовал '<% = ff.object.inspect%>' и он выводит nil. если я пишу '<% = f.object.inspect%>', он выводит полный объект, но он, похоже, не работает с построителем 'ff'. Проблема, похоже, связана с этим. –