2008-09-23 35 views
9

我們有一個廣泛的管理部分的應用程序。我們對功能有了一點啓發(就像你一樣),並且正在尋找一些快速簡單的方法來監控「誰使用什麼」。Rails中的用戶監控

理想情況下,一個簡單的寶石,將允許我們跟蹤每個用戶的控制器/操作,以建立一個使用的功能和不是的功能的圖片。

凡是在那裏,你會推薦..

感謝

大教堂

回答

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位與此:通過ActiveRecord的assoiations ==最佳實踐

+0

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

作用域創作你需要克隆參數,否則你冒着破壞刪除的東西的風險! – 2008-09-25 00:24:21