Rails中的用户监视
时间:2020-03-06 14:35:26 来源:igfitidea点击:
我们有一个带有广泛管理部分的应用程序。我们对功能感到满意(就像我们所做的那样),并且正在寻找一种快速简便的方法来监视"谁使用了什么"。
理想情况下,这是一个简单的工具,可以让我们根据每个用户跟踪控制器/操作,以建立使用过的和未使用的功能的图片。
我们推荐的所有内容。
谢谢
多姆
解决方案
我不知道有什么流行的gem或者插件;过去,我已经在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关联对创建进行作用域==最佳实践

