3

Rails をバージョン 3.1.2 (正常に動作) から 4.0 にアップグレードしたところ、次のエラーが発生してスタックしました。

circular dependency detected while autoloading constant Foo

ProductFactoryさまざまなモデルをインスタンス化するクラスを作成しました。例えば:

p = Foo.new(params)

モデル"Foo"は常に ActiveRecord であるとは限りません。誰かがこの問題について私を助けてくれますか?

4

3 に答える 3

3

私が知っている限り、循環依存関係のエラーメッセージは通常、完全にロードされる前にファイルを再帰的に要求することによってカスケードインクルードがうまくいかないときに発生します。

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

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

これがあなたが最終的に直面しているような状況である可能性はありますか?

于 2013-09-26T15:36:30.987 に答える
2

この種の問題は、Rails のバージョンを変更したときによく発生します。gem を正しい順序で更新していない可能性があります。

于 2013-09-30T09:50:31.197 に答える