gem跟踪用户活动

是否有一个很好的gem来跟踪/记录网站上的用户活动? 就像他们登录,注销或执行改变网站上某些内容的操作一样(非GET请求)。

是的,有。 这是一个纸质小道。 https://github.com/airblade/paper_trail

它的主要用途是版本化模型,但我认为它也适用于您的用例,因为它记录了制作每个版本的人。

有关更多gem搜索ruby工具箱。 以下是您在此案例中应检查的分类

https://www.ruby-toolbox.com/categories/Active_Record_User_Stamping

https://www.ruby-toolbox.com/categories/Active_Record_Versioning

也许Userstamp实际上更适合您的用例。

这是一个后续行动。 我一直在使用名为public_activity的gem。 https://github.com/pokonski/public_activity 。 安装和设置非常简单。

我简要地研究了几个类似用途的gem,包括: PaperTrail , Vestal版本 , 审计 , Acts as versioned , Userstamp ,并发现:

  • PaperTrail , Vestal版本和版本的 Acts都是非常强大的版本gem。 是的,您也可以使用它来审核/跟踪用户的活动,但它不是很直接,因为它们是“版本控制工具”,而不是“审计目的”

  • Userstamp和auditit仅用于审计目的。 但Userstamp适用于较旧的Rails版本(它是一个插件…… Rails3(或3.1,3.2?)不支持)

所以我认为’ 审计 ‘是审核Rails3的用户活动目的(不考虑模型版本控制)的更好选择,这对我来说已经足够了。 此外,它还支持关联和ActiveRecord / MongoMapper。

我希望这有帮助。

paper_trail通常用于跟踪对象的变化。 如果你想跟踪动作(如电影,登录,读书等), pfeed是一个很好的候选人

有一种名为Action Tracker的rubygem。 我构建并使用它,它应该完全符合您的需要(因为您使用Rails和Devise)。

链接是https://github.com/appprova/action_tracker

我们的核心团队也有一些贡献(人们正在使用它)。 欢迎您尝试发送反馈!

这取决于你为什么要寻找这些信息。 Papertrail或类似人员可以轻松跟踪模型的变化,请参阅Siwei Shen:s答案以获得更好的信息。 如果您正在查看如何根据用户操作制作公共Feed,也可以使用public_tivity类型的gem。

如果你不想做增长黑客攻击或者分析用户流量是什么,那么又一次。 只做一些自定义日志记录通常更容易。 在模型旁边创建一个长文本字段,并在每次发生有趣事件时添加一行。 如果您偶尔不会处理有关用户如何使用服务以及网站更改如何影响长期使用的数据,那么效果很好。

有关此类方法的示例,请参阅https://github.com/holli/referer_tracking 。