如何在rails app中构建审计跟踪

时间:2010-03-17 19:13:35

标签: ruby-on-rails audit-trail

我有一个小型应用程序。我想在其中加入审计跟踪。基本上添加新用户时。它将在AuditTrailUsers表中插入一行,并创建新的user_id并登录用户的user_id。

我正在考虑使用rails callback before_save。但是,我不确定这是否有效。

想象一下,我有model/Users.rbmodel/AuditTrailUser.rb

class User < ActiveRecord::Base
    validates_presence_of :userid, :password
        before_save :insert_audit

  def self.authenticate(userid, password)
        user = self.find_by_userid_and_password(userid, password)       
    user
  end

  ##implement insert_audit

end

如何实现insert_audit以便它接收用户ID(登录用户),以便在调用AuditTrailUser.create(...)时将其传递给AuditTrailUser。

如果我传入登录用户的用户ID ...那么我是否必须在每个地方明确地呼叫before_save ...

我是铁杆新手。

1 个答案:

答案 0 :(得分:12)

使用Audited gem记录对Rails模型的所有更改。