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关联对创建进行作用域==最佳实践