首页 > 解决方案 > ActiveModel::UnknownAttributeError: PaperTrail::VersionAssociation 的未知属性“foreign_type”

问题描述

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

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

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

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

标签: ruby-on-railsrspecruby-on-rails-5paper-trail-gem

解决方案


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

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

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

参考:变更日志


推荐阅读