#ruby-on-rails #ruby #ruby-on-rails-3
#ruby-on-rails #ruby #ruby-on-rails-3
Вопрос:
У меня есть родительский объект, который имеет полиморфную ассоциацию-has_many с дочерним объектом. Дочерний объект не имеет обратной связи со своим родительским объектом. Он имеет полиморфную связь только с самим собой. Используя AJAX, я хотел бы отправить родительский объект вверх. Я хотел бы, чтобы родительский объект включал дочерний объект и создавал дочерний объект параллельно сам в разделе создания родительского контроллера. Однако коду не нравится то, что я делаю, и он терпит неудачу. Я не уверен, является ли это проблемой с соглашением об именовании (Т. Е. именем объекта, передаваемого в rails) или проблемой со связыванием отношений между моделями.
Parent Model:
has_many :tags, :as => :taggable
Tag Model:
belongs_to :taggable, :polymorphic => true
Объект передан для попытки создания:
Parent:
Parent_attributes
tagables_attributes
[0]
'content'
[1]
'content'
...
Я пробовал передавать «tabables_attributes» со многими разными похожими именами. Как я уже сказал, я не уверен, было ли это частью проблемы или нет. Возможно, это неправильное имя объекта или, возможно, это проблема модели?
Tag:
t.text :content
t.integer :taggable_id
t.string :taggable_type
Пожалуйста, дайте мне знать любые идеи относительно того, что я, возможно, делаю здесь неправильно.
Ответ №1:
Добавьте accepts_nested_attributes_for
в свою родительскую модель.
Смотрите http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html
Комментарии:
1. Идеально, столько времени потрачено на поиск одной маленькой строки. ха-ха