【发布时间】:2018-09-30 19:51:25
【问题描述】:
我想跟踪 storages 的变化并将其存储在 storage_versions 表中,该表有一个列 storage_type 来存储存储类型被修改。我正在尝试这样做:
class Storage < ApplicationRecord
has_paper_trail(meta: {storage_type: :storage_type}), class_name: 'StorageVersion'
//additional methods here
end
我在 app/models/paper_trail/storage_version.rb 中定义了“StorageVersion”类,如下所示:
class StorageVersion < PaperTrail::Version
self.table_name = 'storage_versions'
end
据我所知,它应该可以工作,但事实并非如此。我怎样才能做到这一点?
更新
抱歉,问题不完整。 我定义了 versions 表(不是抽象的),storage_versions 表确实有 storage_type 列。
解决方案
将 storage_version.rb 移出 paper_trail 文件夹并将has_paper_trail 的声明更改为
has_paper_trail class_name: 'StorageVersion', meta: { storage_type: :storage_type }
就像@jemonsanto 说的。谢谢@jemonsanto!
【问题讨论】:
标签: ruby-on-rails paper-trail-gem