Я не знаю, что для этого есть популярный гем или плагин; В прошлом я реализовывал такой аудит как before_filter
в ApplicationController:
из памяти:
class ApplicationController < ActionController::Base
before_filter :audit_events
# ...
protected
def audit_events
local_params = params.clone
controller = local_params.delete(:controller)
action = local_params.delete(:action)
Audit.create(
:user => current_user,
:controller => controller,
:action => action,
:params => local_params
)
end
end
Предполагается, что вы используете что-то вроде restful_authentication, конечно, чтобы получить текущего пользователя.
РЕДАКТИРОВАТЬ: В зависимости от того, как настроены ваши ассоциации, вам лучше заменить бит Audit.create следующим:
current_user.audits.create({
:controller => controller,
:action => action,
:params => local_params
})
Области создания с помощью ассоциаций ActiveRecord == передовая практика