9

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

我正在考虑before_save为此使用rails回调。但是,我不确定这是否可行。

想象一下我有 model/Users.rb并且model/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 AuditTrailUser.create(...)

如果我通过登录用户的用户 ID...那么我将不得不显式调用before_save每个地方...

我是新来的轨道。

4

1 回答 1

13

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

于 2010-03-17T19:54:25.160 回答