2008-09-23 20 views
9

Kapsamlı bir yönetici bölümüne sahip bir uygulamamız var. Küçük bir tetikleyiciye sahibiz (yaptığınız gibi) ve "kim kullandığını" izlemenin hızlı ve kolay bir yolunu arıyoruz.Raylarda Kullanıcı Denetimi

İdeal olarak, kullanılan özelliklerin bir görüntüsünü oluşturmak için denetleyici/eylemleri kullanıcı bazında izlememize olanak tanıyan basit bir mücevher. Orada sen öneriyoruz olduğunu

şey

..

Teşekkür

Dom

cevap

10

Bunun için popüler bir mücevher veya eklenti var olduğunu bilmiyorum; bellekten

: Geçmişte, ben ApplicationController bir before_filter olarak denetim bu tür uyguladık

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 

Bu elbette, geçerli kullanıcı almak için restful_authentication gibi bir şey kullandığınızı varsayar.

DÜZENLEME: ActiveRecord assoiations == iyi uygulama

+0

aracılığıyla

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

Scoping kreasyonlarını: En dernekler kurmak nasıl bağlı olarak, bu konuda Audit.create biti değiştirmek için daha iyi yapacağını Paramları kopyalamalısın ya da silme ile bir şeyleri kırma riskine girdin! –

+0

İyi nokta! düzeltmek için düzenlenmiş. –

+0

Biliyorum ki bu iki sene geçti ama parametre filtrelemede bu paras ' 'local_params request.filtered_parameters.dup' –

İlgili konular