对于我目前正在进行的项目,我需要实现对象版本控制。不幸的是,我需要保留每个对象的完整历史记录,因此像Papertrail这样的单个表解决方案很快就会变得无法管理。所以我试图使用papertrail为每个对象设置自定义版本表。我按照文档但在创建对象时遇到错误
Model :: UnknownAttributeError:ArticleVersion的未知属性'event'。
以下是实施的代码:
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创建文章时(文本:'some text') 我收到了上面提到的错误。 任何人都可以帮我弄清楚我是否遗漏了任何东西。
答案 0 :(得分:0)
create_table :article_versions do |t|
t.string :title
t.text :text
t.timestamps
end
Model::UnknownAttributeError: unknown attribute 'event' for ArticleVersion.
ArticleVersion
模型缺少event
属性,因为article_versions
表缺少{ {1}} 列。