删除模型时删除所有版本的papertrail

时间:2013-06-19 23:34:33

标签: ruby-on-rails ruby-on-rails-3 paper-trail-gem

我使用paper_trail gem为博客系统存储文章的版本。但是,我不需要在文章被销毁后保留任何版本的文章。

如何销毁模型实例的所有版本?我只在文档中看到了一种全局删除版本的方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

before_destroy do
  self.versions.destroy_all
end

默认情况下has_paper_trail会创建has_many :versions关联。所以你可以很容易地摧毁它们。但请确保您的模型中有这个:

 has_paper_trail on: [:create, :update]  #because you dont want to keep record for destroy event.