Rails 依赖销毁并真正销毁一个 acts_aS_paranoid 对象

Rails dependent destroy and really destroy an acts_aS_paranoid object

我有两个模型文章和书签。两者都被定义为 acts_as_paranoid 个对象。他们之间的关系是

article.rb

  has_many :bookmarks, foreign_key: 'article_doi', primary_key: 'doi', dependent: :destroy

bookmark.rb

  belongs_to :article, foreign_key: 'article_doi', primary_key: 'doi'

现在我想真正删除一个书签对象,同时删除依赖的书签对象。

@article.destroy!

并检查

@article.bookmarks

没有删除文章或其书签。我怎样才能真正将它们从数据库及其关联的书签中删除?

要从数据库中永久销毁您可以使用really_destroy! 方法。 尝试使用 @article.really_destroy!

https://github.com/rubysherpas/paranoia#usage