我有一个与子对象有多态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
如果我在这里做错了什么,请告诉我。
添加accepts_nested_attributes_for
到父模型
见http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html