我有2个模特,用户和帖子
class User
include Mongoid::Document
include Mongoid::Paranoia
references_many :posts, :autosave => true, :dependent => :destroy
end
class Post
include Mongoid::Document
referenced_in :user
end
现在当我软删除用户时,我也想软删帖。我有什么方法可以做到这一点吗?
用于软删除我正在使用的文档Mongoid::Paranoia
答案 0 :(得分:1)
为什么要删除用户帖子?如果我正在关注一些线程(我假设帖子是线程的),并且一些用户在线程中写了一些帖子,删除了他的个人资料,我不希望他的帖子被删除。这会打破后线程的流程。
我知道这不能解答您的问题,但如果您确实需要删除帖子,则可能会考虑这个问题。
答案 1 :(得分:0)
before_destroy回调会做你需要的吗? e.g。
class User
include Mongoid::Document
include Mongoid::Paranoia
references_many :posts, :autosave => true, :dependent => :destroy
before_destroy :delete_posts
def delete_posts
posts.delete_all
end
end
class Post
include Mongoid::Document
include Mongoid::Paranoia
referenced_in :user
end