Если вы хотите провести аудит на уровне контроллера / действия, вот простой способ сделать это:
class BankController < ActionController::Base
before_filter :audit
private
def audit
# record the action and parameters in an audit log
end
end
И с наследованием вы получаете это через другие контроллеры:
class VaultController < BankController
before_filter :verify_credentials
private
def verify_credentials
# make sure the user is allowed into the vault
end
end
Во втором случае: аудит будет запущен до: verify_credentials.
Фильтры подробно здесь
Если вы хотите проводить аудит на уровне базы данных с помощью active_records, вы можете использовать Observers. Подробно здесь .