ActiveAdminVersioning
Good for auditing or versioning for Active Admin (using PaperTrail)
Installation
Add this line to your application's Gemfile:
gem 'active_admin_versioning'And then execute:
$ bundle
Configuration
In some cases you may need to display some extra or formatted text in whodunnit. For example whodunit is an ID of your user. And you want to display not just a number, but his E-mail.
Create configuration 'config/initializers/active_admin_versionings.rb'
ActiveAdminVersioning.configure do |config|
config.whodunnit_attribute_name = :display_whodunnit
endIn you model:
has_paper_trail class_name: 'MyPaperTrail'class MyPaperTrail < PaperTrail::Version
def display_whodunnit
AdminUser.find(whodunnit).email
end
endThis alternative "whodunnit" will only be visible in "Version" sidebar and "Version" page.
Recipe for Rails 5
- Add necessary gems to
Gemfileandbundle:
gem 'activeadmin', github: 'activeadmin'
gem 'devise'
gem 'inherited_resources', github: 'activeadmin/inherited_resources'
gem 'paper_trail', '~> 5.2.0'
gem 'active_admin_versioning'- Install Active Admin and Paper Trail:
$ bin/rails generate active_admin:install
$ bin/rails generate paper_trail:install
$ bin/rails db:create db:migrate db:seed- Add module of Paper Trail to
AdminUser:
class AdminUser < ApplicationRecord
has_paper_trail
end- Run server
bin/rails serverand open localhost:3000

