Rails中的用户监控

时间:2008-09-23 09:59:49

标签: ruby-on-rails ruby rubygems

我们有一个广泛管理部分的应用。我们对功能感到满意(正如您所做),并且正在寻找一种快速简便的方法来监控“谁使用了什么”。

理想情况下,这是一个简单的gem,它允许我们基于每个用户跟踪控制器/操作,以构建所使用的功能和不使用的功能的图片。

你推荐的任何东西..

由于

的Dom

1 个答案:

答案 0 :(得分:10)

我不知道有一个流行的宝石或插件为此;在过去,我已经在ApplicationController中将这种审计实现为before_filter

来自记忆:

class ApplicationController < ActionController::Base
  before_filter :audit_events
  # ...

  protected
  def audit_events
    local_params = params.clone
    controller = local_params.delete(:controller)
    action = local_params.delete(:action)
    Audit.create(
      :user => current_user, 
      :controller => controller, 
      :action => action, 
      :params => local_params
    )
  end
end

这假设您正在使用restful_authentication之类的东西来获取当前用户。

编辑:根据您的关联设置方式,您可以更好地将Audit.create位替换为:

current_user.audits.create({
  :controller => controller,
  :action => action,
  :params => local_params
})

通过ActiveRecord协议确定创建范围==最佳实践