我有一个这样的模型
class Post < ApplicationRecord
has_many :comments,
after_add: :soil,
after_remove: :soil,
dependent: :destroy
attr_accessor :soiled_associations
accepts_nested_attributes_for :comments, allow_destroy: true
def soil(record)
self.soiled_associations = [record]
end
end
当我在视图中添加一个新的comment
时,它将对象添加到我的post.soiled_associations
属性中(顺便说一句,soiled_associations
是我试图命名一个自定义方法,它做的事情类似于Rails的Dirty
类,但用于关联)。
但是,当我在视图中删除注解时,post.soiled_associations
属性中没有添加任何内容。
我做错了什么?我怀疑这是关于accepts_nested_attributes_for
是如何工作的(也许绕过这些回调),但有人能解释一下吗?
1条答案
按热度按时间xzv2uavs1#
不能告诉你你做错了什么,因为你还没有表现出你在做什么。但只有几种方法可以做到这一点: