我有一个User
,其中有多个Posts
class User
has_many :posts
accepts_nested_attributes_for :posts, allow_destroy: true
end
class Post
belongs_to :user
end
在控制器中,我将通过
进行更新@user.update({ posts_attributes: [{uuid:'blah1'},{uuid:'blah2'}] })
我希望它可以自动销毁不存在的posts
在每次更新。
@user.update({ posts_attributes: [{uuid:'blah1'},{uuid:'blah2'}] }) # create blah1, create blah2
@user.update({ posts_attributes: [{uuid:'blah2'},{uuid:'blah3'}] }) # delete blah1, create blah3
我该如何实现?
更新:
我知道这可以通过
完成@user.update({ posts_attributes: [{uuid:'blah1',:_destroy:true},{uuid:'blah2'},{uuid:'blah3'}] })
但是,从我的角度来看,这并不恰当。可以在内部模型中而不是外部模型中吗?
更新:
我发现了这个link,但看起来很复杂。