【发布时间】:2012-06-18 00:01:45
【问题描述】:
是否有一个好的 gem 可以跟踪/记录网站上的用户活动?就像他们登录、退出或执行更改网站上某些内容的操作时一样(通常是非 GET 请求)。
【问题讨论】:
-
我认为这个问题和答案很有帮助...
标签: ruby-on-rails ruby ruby-on-rails-3 rubygems
是否有一个好的 gem 可以跟踪/记录网站上的用户活动?就像他们登录、退出或执行更改网站上某些内容的操作时一样(通常是非 GET 请求)。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 rubygems
有一个名为 Action Tracker 的红宝石。我构建并使用了它,它应该完全满足您的需求(因为您使用 Rails 和 Devise)。
链接是https://github.com/appprova/action_tracker
我们的核心团队之外也有一些贡献(人们正在使用它)。欢迎您尝试发送反馈!
【讨论】:
这取决于您查找这些信息的原因。 Papertrail 或类似的可以轻松跟踪模型的变化,请参阅 Siwei Shen:s answer 以获得更好的信息。如果您正在研究如何根据用户操作制作公共供稿,也可以使用 public_ativity 类型的 gem。
如果您不想进行增长黑客或分析什么是用户流,那么再说一次。做一些自定义日志记录通常更容易。在模型旁边创建一个长文本字段,并在每次发生有趣的事情时添加一行。如果您不想偶尔处理一些有关用户如何使用该服务以及网站的变化如何影响长期使用的数据,则效果很好。
有关此类方法的示例,请参见 https://github.com/holli/referer_tracking。
【讨论】:
我简要调查了几个类似用途的 gem,包括:PaperTrail、Vestal versions、audited、Acts as versioned、Userstamp,发现:
PaperTrail、Vestal versions 和 Acts as versioned 都是非常强大的版本控制 gem。是的,您也可以使用它来审计/跟踪用户的活动,但这不是很直接,因为它们是“版本控制工具”,但不是为了“审计目的”
Userstamp 和 audited 仅用于审计目的。但Userstamp 适用于较旧的 Rails 版本(它是一个插件...... Rails3(或 3.1、3.2?)不再支持)
所以我认为'audited'是Rails3审计用户活动目的(不考虑模型版本控制)的更好选择,这对我来说已经足够了。此外,它还支持关联和 ActiveRecord/MongoMapper。
我希望这会有所帮助。
【讨论】:
paper_trail 通常用于跟踪对象的变化。 如果您想跟踪操作(如电影、登录、阅读等)pfeed 是个好人选
【讨论】:
这是一个后续。我一直在使用一个名为 public_activity 的 gem。 https://github.com/pokonski/public_activity。安装和设置非常简单。
【讨论】:
是的,有。这是一个,纸迹。 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 实际上更适合您的用例。
【讨论】: