0

認証に Devise を使用する Rails 3 プロジェクトを Rails 3.1 マウント可能エンジンにアップグレード中です。アップグレード後、Devise が正しく初期化されていないようで、次のエラーが発生しますNameError

uninitialized constant Devise (NameError)

2010 年のこの問題は、通常のアプリケーション環境以外で Devise を使用する場合の非互換性を示唆しています。

おそらく、スタンドアロンで実行していないときは、Devise は必要ありません。

このより最近の問題は詳細に入りますが、それは私の実際の問題に関するものではありません (おそらくまだ)。

どこから来たのかよくわかりません。CanCan や Compass などの多くの依存関係が、アップグレード後の起動時にエラーを出し始めました。それらはすべてmethod missinguninitialized constantなどでした。私はこれを、それらを排除するか、より現代的な代替品に置き換えるチャンスだと考えました. たぶん、私はそうすべきではありませんでした。

誰でもこれを修正する方法を知っていますか?

4

1 に答える 1

2

エンジンのモジュール定義の前に依存関係を明示的に要求することで問題を解決しました。

require 'devise'
于 2011-09-11T17:14:04.680 に答える