12

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

4

6 回答 6

13

是的,有。这是一个,纸迹。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 实际上更适合您的用例。

于 2012-06-14T22:12:08.777 回答
13

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

于 2012-06-19T19:16:29.060 回答
12

我简要调查了几个类似用途的 gem,包括: PaperTrailVestal versionsauditedActs as versionedUserstamp,并发现:

  • PaperTrailVestal 版本Acts as versioned都是非常强大的版本控制 gem。是的,你也可以用它来审计/跟踪用户的活动,但这不是很直接,因为它们是“版本控制工具”,但不是为了“审计目的”

  • 用户戳审核仅用于审核目的。但Userstamp适用于较旧的 Rails 版本(它是一个插件...... Rails3(或 3.1、3.2?)不再支持)

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

我希望这有帮助。

于 2013-01-06T02:33:04.793 回答
5

paper_trail 通常用于跟踪对象的变化。如果您想跟踪操作(如电影、登录、读书等),pfeed 是一个不错的选择

于 2012-06-14T22:42:09.530 回答
1

有一个名为 Action Tracker 的红宝石。我构建并使用了它,它应该完全满足您的需求(因为您使用 Rails 和 Devise)。

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

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

于 2016-07-23T13:47:37.777 回答
0

这取决于您为什么要查找这些信息。Papertrail或类似工具可以轻松跟踪模型的变化,请参阅 Siwei Shen:s answer 以获得更好的信息。如果您正在研究如何根据用户操作制作公共提要,也可以使用 public_ativity 类型的gem

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

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

于 2015-04-25T11:14:20.303 回答