Skip to content

Latest commit

 

History

History
53 lines (38 loc) · 1.4 KB

README.en.md

File metadata and controls

53 lines (38 loc) · 1.4 KB

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:

  1. controller
  2. action
  3. request.remote_ip
  4. current_operator
  5. 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

  1. include Audited
class User < ActiveRecord::Base
  include RailsAuditExt::Audited
  
end

in Controller

class UsersController < ApplicationController
  include RailsAudit::Application
  # use after action, will auto record changes by use saved_changes api
  after_action only: [:update, :create, :destroy] do
    mark_audits(:@user, :@role, note: 'note something!', extra: { client_headers: request.headers })
  end
  
end

in View

  link_to 'Audits', audits_path('User', user.id)

许可证

License 采用 LGPL License.