2017-01-16 4 views
1

私は、バージョンを追跡するためにgem paper_trailを使用しています。私はそれが含まれているモデルの活動のニュースのいくつかの種類を作成する方法はありますか?たとえば、モデルを「Commentary」、「User」、「Article」に追加しました。私は、これらのモデルの最新の変更のリストを取得し、活動のニュースのようなものを作成することにしたい:私のウェブサイトで最新のニュース活動を追跡するためにgem paper_trailを使用してください。

  • Aは、新しいカテゴリを作成したユーザ

  • ユーザーBが条

  • を編集しました
  • 管理者は

  • など

新しい記事を追加しました

可能ですか?そしてどうやって?はいのようですが、どれくらい正確ですか?私は宝石を含めたすべてのモデルから、私が欲しいものからのみ、そのような情報を検索したくないことに注意してください。

答えて

0

あなたがそれを望むので、https://github.com/ankit1910/paper_trail-globalidを統合してwhodunnitの部分をリンクする必要があります。

PaperTrail::Version.where_object(attr1: val1, attr2: val2) 

注:paper_trail宝石は、監査のためです。 データベースでindexesをチェックすることを忘れないでください。インデックスの増加[spree][1]フレームワークと同様の宝石と私の経験に基づいて

は、 versionsの表は、私たちが持っていた最大のであり、それは静かに高速の増加となりました。このテーブルを維持する際に同様の問題に直面する可能性があり、インデックスを追加すると速度が低下する可能性があります。

私の提案は

+0

ユーザーが代わりにMySQLの(基本的にキャッシュする)を照会のを通知することができる、ユーザーごとに10かそこらの最近のアップデートのリストを維持するために店のようなRedisのを使用することです私は宝石paper_trailを使用することができますのみ?そしてどうやって。 –

+0

あなたは露出した他の方法を使用する必要があります。 whodunnit列があります。あなたはそれを使ってそれを行うことができます。それが公開するAPIを理解するためにpaper_trail gemのREADMEを参照してください。 – Sairam

+0

あなたの言ったことは分かりません。 **宝石paper_trailのみを使用できますか?** –

関連する問題