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

kri*_*hna 4 ruby ruby-on-rails associations

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

文章.rb

  has_many :bookmarks, foreign_key: 'article_doi', primary_key: 'doi', dependent: :destroy
Run Code Online (Sandbox Code Playgroud)

书签.rb

  belongs_to :article, foreign_key: 'article_doi', primary_key: 'doi'
Run Code Online (Sandbox Code Playgroud)

现在我想真正删除一个书签对象并删除相关的书签对象。

@article.destroy!
Run Code Online (Sandbox Code Playgroud)

并检查

@article.bookmarks
Run Code Online (Sandbox Code Playgroud)

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

Gok*_*l M 8

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

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