我有一个小的 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
每个地方...
我是新来的轨道。