как построить контрольные журналы в приложении rails - PullRequest
8 голосов
/ 17 марта 2010

У меня есть небольшое приложение рельсов. Я хочу поместить контрольный журнал в это. В основном, когда новый пользователь добавлен. он вставит строку в таблицу AuditTrailUsers с новым user_id, созданным и зарегистрированным в user_id пользователя.

Я думаю об использовании обратного вызова rails before_save для этого. Однако я не уверен, что это сработает.

Представь, у меня есть 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, чтобы он принимал идентификатор пользователя (зарегистрированного пользователя), чтобы он мог передать его AuditTrailUser при вызове AuditTrailUser.create(...).

Если я войду в систему, войдя в систему под идентификатором пользователя ... тогда мне придется явно вызывать before_save каждые где ...

Я новичок в рельсах.

1 Ответ

12 голосов
/ 17 марта 2010

Используйте гем Audited для регистрации всех изменений в ваших моделях Rails.

...