Для проекта, над которым я сейчас работаю, мне нужно реализовать управление версиями объектов. К сожалению, мне нужно вести полную историю каждого объекта, поэтому решение с одной таблицей, такое как Papertrail, быстро станет неуправляемым. Поэтому я пытаюсь создать собственную таблицу версий для каждого объекта, используя papertrail. Я следил за документацией, но получаю ошибку при создании объекта
Model::UnknownAttributeError: неизвестный атрибут «событие» для 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'), я получаю вышеупомянутую ошибку. Может ли кто-нибудь помочь мне понять, не пропустил ли я что-нибудь.