Historiqueux
This is a mountable gem that add a bootstrap presentation layer to paper_trail.
Inject some routes in your app that provides screens to help visualize any ressource versions, values and differences. Provide the ability no navigate related entities versions details.
Installation :
Add the following line to your Gemfile
Rails 4
gem 'historiqueux'
Usage
Mount the historiqueux gem in your routes:
mount Historiqueux::Engine => "/"
The routes that will be available are :
get '/historiqueux/:resource/:resource_id', to: 'history#index'
get '/historiqueux/:resource/:resource_id/relations/:relation_resource', to: 'history#index_relations'
get '/historiqueux/:resource/:resource_id/:version_id', to: 'history#show'
where :resource is the name of your model (you can use namespace)
Include the needed javascript file in your application.js or application.js.coffee
Javascript
//= require historiqueux/history
CoffeeScript
#= require historiqueux/history
Call url of historiqueux screens, for exemple, like that:
<%= link_to "<i class='icon-time text-blue'></i> Historique".html_safe,
"/historiqueux/client::customer/#{@customer.id}?parent_div=ajax_target",
:id => "history_tab", :data => {:remote => true} %>
With a binding like that in your application.js.coffee
$(document).delegate '#history_tab', 'ajax:success', (e, data, status, xhr) ->
$('.tab_header').removeClass('active')
$('#history_tab_header').addClass('active')
$('#ajax_target').html(xhr.responseText)
Credits
Andy Stewart - The creator of papertrail.