Я использую Paper Trail , который является более новым, но почти таким же, и верхняя часть моей модели Devise User выглядит следующим образом:
class User < ActiveRecord::Base
has_paper_trail
И теперь у меня растетversions
таблица в моей БД с строкой для каждого действия CRUD в модели User.
Преимущества состоят в том, что все предыдущие версии данных вашей модели сохраняются и сохраняются в YAML, что позволяет выполнять откат / отмену.
Минусы?Только размер базы данных и, возможно, небольшой удар по производительности во время записи / обновления.