【发布时间】:2013-09-20 16:00:54
【问题描述】:
我将 Rails 从版本 3.1.2(运行良好)升级到 4.0,但遇到以下错误:
circular dependency detected while autoloading constant Foo
我创建了一个类ProductFactory,我在其中实例化了不同的模型。例如:
p = Foo.new(params)
模型 "Foo" 并不总是 ActiveRecord。谁能帮我解决这个问题?
【问题讨论】:
-
你能展示一下你的工厂是什么样子的吗? Foo 仅在方法内部吗?或者你正在做一些元编程?还是将带有类的数组分配给不同的常量?
-
@IsmaelAbreu ProductFactory 的结构如下:基于条件(case..when)我用引用分配一个变量 p到对象 p = Cat.new(params) 或 p = Dog.new(params)。在我的函数结束时,我返回 p。此外,我的产品工厂包括 Singleton。
-
完整的堆栈跟踪在哪里?
标签: ruby ruby-on-rails-4 rails-activerecord