ActiveModel::UnknownAttributeError: PaperTrail::VersionAssociation 的未知属性“foreign_type”

new*_*ser 5 rspec ruby-on-rails paper-trail-gem ruby-on-rails-5

我正在将我的应用程序从 Rails4.2.8 迁移到 Rails5.2.3,将 paper-trail gem 版本“7.1.2”更新为“10.3.1”。我正在使用 Rspec - 3.8.2。一切工作正常,但我的规格对于使用“has_paper_trail”宏的模型来说失败了。

尝试查看我的代码以及 gem 存储库,但没有在任何地方找到这样的属性。

发现了一些类似的问题,但没有帮助。 https://github.com/paper-trail-gem/paper_trail/issues/455

ActiveModel::UnknownAttributeError:unknown attribute 'foreign_type' for PaperTrail::VersionAssociation.

Gan*_*esh 7

升级 gem 后,您需要向表foreign_type中添加列。version_associationspaper_trail

运行rails g paper_trail_association_tracking:add_foreign_type_to_version_associations然后迁移您的数据库。

这些更改是在 gem 中完成的,paper_trail-association_trackinggem 是 gem 的依赖项之一paper_trail

参考:变更日志