RailsAdmin + вложенные модели
У меня есть компания, которая имеет много телефонов.
Я создал начальные данные, чтобы добавить 1 компанию и 1 телефон
Когда RailsAdmin отображает форму компании, вложенные поля для телефона отображаются правильно.
Когда я нажимаю "Добавить новый телефон", он добавляет 2 вкладки (каждая говорит "Телефон (новый)"), но не может отобразить поля. Я нажимаю "Добавить новый телефон" снова и снова получаю еще 2 вкладки, но не могу ввести данные.
def Company < ActiveRecord::Base
has_many :phones
attr_accessible :name, :phones_attributes
accepts_nested_attributes_for :phones, :allow_destroy => true, :reject_if => proc { |obj| obj.blank? }
end
def Phone < ActiveRecord::Base
belongs_to :company, :inverse => :phones
attr_accessible :number, :provider, :phone_type
end
КСТАТИ - не имеет значения, редактировать или новый, оба "Добавить новый телефон" не показывает никаких полей для ввода данных.
2 ответа
Просто была такая же проблема с рельсами 3.1.3 до 3.2.6. Я решил это, добавив id и foreign_id в attr_accessible.
def Company < ActiveRecord::Base
has_many :phones
attr_accessible :id, :name, :phones_attributes
accepts_nested_attributes_for :phones, :allow_destroy => true, :reject_if => proc { |obj| obj.blank? }
end
def Phone < ActiveRecord::Base
belongs_to :company, :inverse => :phones
attr_accessible :id, :number, :provider, :phone_type, :company_id
end
Я не знаю, сильно ли это помогает, но у меня тоже была эта проблема, потому что я использовал другой вложенный гем формы, который конфликтовал (по крайней мере в JS) с тем, от которого зависит RailsAdmin. Когда я удалил этот драгоценный камень (я полагаю, awesome_nested_forms), все встроенные в RailsAdmin виджеты ассоциации has_many снова функционировали должным образом.