7

Rails 4.0.2を使用しています。私が懸念ディレクトリに(モデル名で)サブディレクトリを追加しました:例外:Railsで "load_missing_constant循環依存関係が自動ロード中に検出されました"

  • /app/models/concerns/company/cache_concern.rb
  • /app/models/concerns/user/cache_concern.rb
  • /アプリ/モデル/懸念/文書/ cache_concern.rb

会社ディレクトリ内cache_concern.rbは、コンテンツを以下ました:

module Company::CacheConcern 
    included do 
    ... 
    end 
end 

私のモデルクラスでは、私は持っていた:

class Company 
    include Company::CacheConcern 
...  
end 

私は生産に行きました。

`load_missing_constant ':それから私は、次の例外だ一定の会社を自動ロードしながら、検出された循環依存関係:: CacheConcern(例外RuntimeError)

私は会社からの私の懸念ファイルに名前空間を変更して私の問題を解決するために:: CacheConcern to Concerns :: Company :: CacheConcern。これにより、私は生産環境でアプリケーションを読み込むことができます。

しかし、私は会社のクラスを使用していますどこ今私はラインに懸念ファイルで開発環境には、問題を抱えている:

NoMethodError(の懸念のための未定義のメソッド `current_company」::会社:モジュール):

彼はConcernディレクトリで検索しているようです。プロダクションではすべてが問題ありません。この問題を解決するために、モデルディレクトリからクラスを使用するために、クラス名の前に2つのコロンを追加することができます。

私は、メモリ内の全アプリケーションをキャッシュするため、生産モードが開発と同じように動作しないことは知っています。私はすべての同様の投稿をチェックしました。モデルディレクトリのクラス名の前に、関係ファイルの2つのコロンを付ける必要がありますか?誰かが私にこの奇妙な状況を説明できるなら、とても感謝しています。あなたが、私はそれが間違っていると思うこれをしなかった

おかげ

答えて

2

を私は懸念::会社に会社:: CacheConcernからの私の懸念ファイルに名前空間を変更して、私の問題を解決するために:: CacheConcern。これにより、私は生産環境でアプリケーションを読み込むことができます。

は、代わりにこの

会社:: CacheConcernを行い、企業/ cache_concern.rb

として、あなたのフォルダの名前を変更します
関連する問題