使用gem paper_trail跟踪我网站上的最新新闻活动

时间:2017-01-16 09:57:22

标签: ruby-on-rails ruby rubygems ruby-on-rails-5

我正在使用gem paper_trail来跟踪版本。我想知道,有没有办法从它被包含的模型中创建某种活动新闻?例如,我已将其添加到模型评论,用户和文章中。我希望获得这些模型的最新变化列表,并创建类似活动的新闻:

  • 用户A创建了一个新类别

  • 用户B编辑了文章

  • admin已添加新文章

有可能吗?如何?似乎是的,但究竟是怎么回事?请注意,我不想从我包含gem的所有模型中检索那种信息,但只能从我想要的模型中检索。

1 个答案:

答案 0 :(得分:0)

由于用户需要它,您应该集成https://github.com/ankit1910/paper_trail-globalid以链接whodunnit部分。

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

注意:paper_trail gem用于审核。   不要忘记检查数据库上的indexes,因为关系数据库会因为你的数据而变慢。指数增加。

根据我对[spree][1]框架和类似gem的经验,versions表是我们最大的表,并且它快速变得安静。您可能在维护此表时遇到类似的挑战,添加索引可能会导致其速度变慢。

我的建议是使用类似Redis的商店来维护每个用户最近10次更新的列表,可以通知用户而不是查询MySQL(基本上是缓存)