app/views/versions/show.html.erb
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">
<%= "Diff between Version #{@version.id} and Current Version" %>
</h4>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
</div>
<div class="modal-body">
<style>
<%= Diffy::CSS %>
</style>
<table class="table">
<% @versionable.attributes.each do |name, val| %>
<% next if %w(created_at updated_at).include?(name) %>
<% if @version.reify && val != @version.reify[name] %>
<tr>
<td><%= name.humanize.titleize %></td>
<td><%= diff(@version.reify[name], val) %></td>
</tr>
<% end %>
<% end %>
</table>
</div>
<div class="modal-footer">
<%= link_to("Rollback", version_path(@version, sgid: @versionable.to_sgid),
data: {
confirm: "Are you sure you want to roll this change back?"
},
class: "btn btn-sm btn-primary mr-1",
method: :put) if @version.next %>
<button data-dismiss="modal" type="button" class="btn btn-sm btn-light">Close</button>
</div>
</div>
</div>