質問

両方のソフト削除データベースからのレコードの両方が(実際に削除されているのではなく削除されているようにフラグを立てる)と...

...また、特別なユーザー定義のスコープを使用せずに、どのタイプのFINDがこれらのゴミ箱に及ぶレコードを自動的に省略します。たとえば、すべて宝石で行われます。

乾杯!

役に立ちましたか?

解決

Paper_trailをチェックアウトすることをお勧めします

https://github.com/airblade/paper_trail

他のヒント

DHHは、基本的に単なるモジュールミキシンである「懸念」でこれを行うことのファンであり、私はそのミニマリストのアプローチが好きです。

これがDHHのバージョンです - https://gist.github.com/1014971

これが私のバグフィックスバージョンです - https://gist.github.com/4032984

Paper_trailには多くの機能があり、よくテストされています(長い間存在しています)。

指定された機能のみが必要な場合は、次のことを確認してください。

https://github.com/grosser/soft_deletion

パラノイア

パラノイア あからさまに才能のある宝石 レーダー あなたが探しているものです。

それは本質的に書き直しです acts_as_paranoid (そして同じ規則の多くを使用します)が、レール3と4と互換性が小さく、より速く、互換性があります。

それはあなたの両方のリクエストを達成します:

  1. 自動的に設定a deleted_at タイムスタンプa destroy メソッドは、クラスが含まれるオブジェクトで呼び出されます acts_as_paranoid.

  2. 確実なクエリに条件を自動的に設定します deleted_at IS NULL, 、含めない限り with_deleted クエリチェーンで。

ライブラリやレーダーについて十分なことを言うことができませんでした。

ボーナス:彼のドキュメントは「ビジネス」で最高かもしれません。

捨てられた宝石を使用します。これは、ソフト削除レコードのための非常に簡単な方法です。https://www.rubydoc.info/gems/discard/1.0.0

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top