Я, скорее всего, пропустил что-то простое, но я пробовал несколько вещей безрезультатно. Мне нужно отредактировать существующий трек (используя ActiveAdmin) и сохранить запись, обновляющую его статус эксклюзивности.Вложенные атрибуты в форме не видны
У меня есть Tracks
моделируют
#app/models/track.rb:
has_many :exclusivities, class_name: 'Exclusivity', dependent: :destroy
accepts_nested_attributes_for :exclusivities
attr_accessible :exclusivities_attributes
#whether or not track is exclusive [boolean]
attr_accessible :exclusive
#whether or not track is fully exclusive and should be pulled off the front end [boolean]
attr_accessible :full_exclusivity
, и я только что создал Exclusivity
модель.
#app/models/exclusivity.rb
belongs_to :track
attr_accessible :end_date, :industry, :track_id, :notes, :staff_notes
и моя форма:
<%= semantic_form_for [:manage, @track], html: {data: {secondary:true}} do |f| %>
a bunch of inputs.....
<%= f.inputs "Track Exclusivity", class:'inputs align-left' do %>
<%= f.input :exclusive %>
<%= f.input :full_exclusivity,
label: "Fully Exclusive" %>
<%= f.fields_for :exclusivities do %>
<%= f.input :notes %>
<%= f.input :staff_notes %>
<%= f.input :industry %>
<%= f.input :end_date, as: :date_picker %>
<% end %>
<% end %>
Когда я иду редактировать дорожки, ATTRS Трека есть, но гнездились (Эксклюзивность ATTRS) не является (я могу проверить дорожки эксклюзивных и full_exclusivity флажков)
Я также попытался с помощью semantic_fields_for
и f.inputs :for => exclusivities
Что я здесь отсутствует?
Спасибо, человек. Вы правы, я забыл это! Тем не менее, когда я перехожу к редактированию (используя activeAdmin), эти связанные поля по-прежнему не используются. –
Привет, рад, что вы решили свою проблему. Я собирался предположить, что вы гарантируете, что ваши объекты не ноль, но не хотят быть педантичными с момента вашего оригинала, так как вы упомянули «редактирование». Я предположил, что эксклюзивы уже созданы. Но да ни один из связанных объектов обычно является виновником и получает вас каждый раз. – hraynaud