Для проекта, над которым я сейчас работаю, мне нужно реализовать управление версиями объектов. К сожалению, мне нужно вести полную историю каждого объекта, поэтому решение для одной таблицы, такое как Papertrail, быстро станет неуправляемым. Поэтому я пытаюсь создать собственную таблицу версий для каждого объекта, используя papertrail. Я следовал за документацией, но получал ошибку при создании объекта
Model :: UnknownAttributeError: неизвестный атрибут 'event' для ArticleVersion.
Вот реализованный код:
class Article < ActiveRecord::Base
has_paper_trail class_name: 'ArticleVersion'
end
class ArticleVersion < PaperTrail::Version
self.table_name = :article_versions
end
module PaperTrail
class Version < ActiveRecord::Base
include PaperTrail::VersionConcern
self.abstract_class = true
end
end
Вот миграция для статей миграции:
class CreateArticleVersions < ActiveRecord::Migration[5.0]
def change
create_table :article_versions do |t|
t.string :title
t.text :text
t.timestamps
end
end
end
и когда я пытаюсь создать статью с помощью Article.create (text: 'some text')
Я получаю вышеупомянутую ошибку.
Может ли кто-нибудь помочь мне выяснить, если я что-то упустил.