2011-08-11 104 views
2

我正在使用ruby on rails 3. 我想实现审计日志。 我已经通过this,但我想知道是否有任何方式实现相同的没有使用任何宝石或插件?rails审计日志

在此先感谢!

回答

2

如果你想在控制器/动作级别的审计,这里有一个简单的方法来做到这一点:

class BankController < ActionController::Base 
    before_filter :audit 

    private 
     def audit 
     # record the action and parameters in an audit log 
     end 
end 

并与继承,你得到这个进行的跨其他控制器,以及:

class VaultController < BankController 
    before_filter :verify_credentials 

    private 
    def verify_credentials 
     # make sure the user is allowed into the vault 
    end 
end 

在第二种情况下,审计将在verify_credentials之前运行。

过滤器是详细here

如果你想在审计与active_records数据库级别,就可以使用观察员。 Detailed here