在网站上跟踪/记录用户活动是否有好的宝石?就像他们登录,注销或执行改变网站内容的行为一样(非GET请求)。
答案 0 :(得分:12)
是的。这是一个纸质小道。 https://github.com/airblade/paper_trail
它的主要用途是版本化模型,但我认为它对你的用例也有好处,因为它记录了制作每个版本的人。
在ruby工具箱中搜索更多宝石。以下是您应该在这种情况下检查的分类
https://www.ruby-toolbox.com/categories/Active_Record_User_Stamping
https://www.ruby-toolbox.com/categories/Active_Record_Versioning
也许Userstamp实际上更适合您的用例。
答案 1 :(得分:12)
这是一个跟进。我一直在使用名为public_activity的gem。 https://github.com/pokonski/public_activity。安装和设置非常简单。
答案 2 :(得分:12)
我简要地调查过几个类似用途的宝石,包括:PaperTrail,Vestal versions,audited,Acts as versioned,Userstamp,并发现:
PaperTrail,Vestal versions和Acts as versioned都是非常强大的版本控制宝石。是的,您也可以使用它来审核/跟踪用户的活动,但它不是很直接,因为它们是“版本控制工具”,而不是“审核目的”
Userstamp和audited仅用于审核目的。但Userstamp适用于较旧的Rails版本(它是一个插件...... Rails3(或3.1,3.2?)不再支持)
所以我认为'audited'是审核Rails3的用户活动目的(不考虑模型版本控制)的更好选择,这对我来说已经足够了。此外,它还支持关联和ActiveRecord / MongoMapper。
我希望这会有所帮助。
答案 3 :(得分:5)
paper_trail通常用于跟踪对象的变化。 如果您想跟踪动作(如电影,登录,阅读书籍等)pfeed 是一个很好的候选人
答案 4 :(得分:1)
有一种名为Action Tracker的红宝石宝石。我构建并使用它,它应该完全符合您的需要(因为您使用Rails和Devise)。
链接为https://github.com/appprova/action_tracker
我们的核心团队也有一些贡献(人们正在使用它)。欢迎您尝试发送反馈!
答案 5 :(得分:0)
这取决于您为什么要寻找这些信息。 Papertrail或类似名称可以轻松跟踪模型的变化,请参阅Siwei Shen:回答更好的信息。如果您正在查看如何根据用户操作制作公共Feed,也可以使用public_ativity种类型的宝石。
如果你不想做增长黑客攻击或分析用户流量是什么,那么又一次。只做一些自定义日志记录通常更容易。在模型旁边创建一个长文本字段,并在每次发生有趣事件时添加一行。如果你偶尔不想处理一些关于用户如何使用服务以及网站变化如何影响长期使用的数据,那么效果很好。
有关此类方法的示例,请参阅https://github.com/holli/referer_tracking。