【发布时间】:2018-06-26 21:53:54
【问题描述】:
我在我的应用程序中经常遇到此错误,并且无法在 ChangeLog 或其他地方找到其中的文档。不确定这是否是 Rails 错误......或者,我的臭代码。
我经历过一次,在父 has_many 之前定义了直通关联。我似乎也可以通过将 .each 更改为 .find_each 来解决错误。我通过重构渴望加载在一个实例上解决了它。我也遇到过调用 .present?在查询对象而不是 .any? 上。我也可以通过跳过 has_many 并仅链接作用域来解决。
更有趣...我在生产中的 Heroku 上没有遇到这些错误。相同的环境。 Rails 5.2(主),ruby 2.5。
通过关联加载 has_many 时总是会出现错误。需要注意的重要一点...它们在 5.2 之前都运行良好。另外,有趣的是……查询通常在控制台中可以正常工作……但在浏览器中却不行。
private method `through_reflection' called for #<ActiveRecord::Associations::HasManyThroughAssociation:0x00007ff0df3590a8>
有没有人知道与此 Rails 错误有关的任何信息?
【问题讨论】:
-
此错误与子弹宝石直接相关...我仍在深入研究。
标签: ruby-on-rails activerecord has-many-through ruby-on-rails-5.2