RailsAudit
Unlike audited and paper_trail etc. These model audit tools use model callbacks to record every changes.
rails_audit
record ActiveRecord Model changes in Controllers, it will record context with model changes:
- controller
- action
- request.remote_ip
- current_operator
- any other info you want to record..
Model style audit VS controller style audit
Model Style Audit | Controller style Audit |
---|---|
Record every changes | Record only when you marked |
use model callback, can skip by the data persistence not commit callback | No model callback |
use thread variables delivery state from controller to model | Just add variables you can get in controller |
Usage
in Model
- include Auditable
class User < ActiveRecord::Base
include Auditable
end
in Controller
class UsersController < ApplicationController
# use after action, will auto record changes by use saved_changes api
after_action only: [:update, :create, :destroy] do
mark_audites(User, note: 'note something!', extra: { client_headers: request.headers })
end
end
License
The gem is available as open source under the terms of the LGPL License.