4

私は、記事のバージョンを保存するブログ システムに paper_trail gem を使用しています。ただし、記事が破棄された後、記事のバージョンを保持する必要はありません。

破棄されたモデル インスタンスのすべてのバージョンを削除するにはどうすればよいですか? ドキュメントには、バージョンをグローバルに削除する方法しかありません。

何か案は?

4

1 に答える 1

11
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.
于 2013-06-19T23:59:28.670 に答える