自动加载常量时检测到循环依赖性

我将Rails从版本3.1.2(工作正常)升级到4.0,并且遇到以下错误:

circular dependency detected while autoloading constant Foo 

我创建了一个ProductFactory类,我在其中实例化不同的模型。 例如:

 p = Foo.new(params) 

模型"Foo"并不总是ActiveRecord。 任何人都可以帮我解决这个问题吗?

当您更改Rails的版本时,通常会发生此类问题。 你可能没有按照正确的顺序更新gem。

最好我知道,循环依赖错误消息通常在级联包含错误时通过在完全加载之前递归地要求文件而发生,例如:

 # File A: require 'B' module Foo; end # File B: require 'A' module Foo; end 

任何可能性这是你最终会遇到的那种情况?

我有这个错误,因为我手动重命名控制器,路由等等,忘了在文件的第一行重命名它。

被命名

class AController

代替

class ARenamedController

我已经离开并重新命名所有其他文件。

不是我所知道的最佳实践,但我正在学习并弄清楚它,并在这种情况下创造了这个人正在谈论的错误。 所以,如果你像我一样通过谷歌来到这里,那就是我的解决方案。