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
end
In you model:
has_paper_trail class_name: 'MyPaperTrail'
class MyPaperTrail < PaperTrail::Version
def display_whodunnit
AdminUser.find(whodunnit).email
end
end
This alternative "whodunnit" will only be visible in "Version" sidebar and "Version" page.
Recipe for Rails 5
- Add necessary gems to
Gemfile
andbundle
:
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 server
and open localhost:3000