2012-03-24 46 views
5

我正在使用paper_trail进行审计跟踪。与创建,更新和删除事件一起,我想追踪一些自定义事件,如视图(记录),发送(电子邮件)等。我们如何在审计模型时引入这些自定义事件?如何跟踪paper_trail中的自定义事件?

回答

3

我发现在paper_trail托管版本中添加了自定义事件。这是调整

Version.create(item_type: "Campaign", item_id: campaign.id, event: "Sent") 

可能这是不正确的解决方案,但它帮助我实现了目标。我会更多地探索paper_trail以找到明显的解决方案。

请继续发布您的建议。

感谢, 阿米特·帕特尔

1

请参阅simple hit counter for page views in rails作为您的问题的第一部分的答案。至于跟踪发送的邮件,您可能需要使用Observer pattern

在任何情况下,所有这些事件都在paper_trail域之外。虽然paper_trail只是在数据更改期间创建模型的版本,但您需要观察自定义事件并向DB写入有关该事件的所有必要信息。

+0

感谢@纳什桥梁​​,你的答案是非常有用的。我正在准备一个原型应用程序,需要审核基本事件,如创建,更新,删除以及一些自定义事件,如前所述。由于paper_clip对这些基本事件跟踪有很好的支持,因此我正在寻找一些调整方法,以便跟踪基本事件。这种安排是暂时的,直到我向客户展示POC。 – 2012-03-24 17:47:45