ruby-on-rails - 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.
解决方案
升级 gem 后,您需要将列添加foreign_type
到表中。version_associations
paper_trail
运行rails g paper_trail_association_tracking:add_foreign_type_to_version_associations
然后迁移您的数据库。
这些更改是在 gem 中完成的,paper_trail-association_tracking
它是 gem 的依赖项之一paper_trail
。
参考:变更日志
推荐阅读
- php - 得到与mysql相同格式的结果?
- c++ - 文本文件不读取 c++ MacOSX
- cmake - cmake 中 ALIAS 的意义何在?
- javascript - 我可以访问并拉出嵌套数组对象并将其放入根数组对象吗?
- maven - 如何使用 exec-maven-plugin 设置 VM 参数和程序参数?
- python - 如何提取从网站上抓取的 Json 数据
- javascript - Firebase HTML TAG 在页面中无效
- actions-on-google - OAuth 隐式流程失败,导航被阻止:助手切换
- c++ - C++ 阿拉伯数字到罗马数字,反之亦然
- r - 转换日期和时间数据