2012-10-15 11 views
6

私はデータベース(300以上の国)内のすべてのNationにJSONオブジェクトとしてjavascript変数を設定しようとしています。これは私のnations.js.erbファイルに該当する行です:私は、ブラウザで私のjsファイルを呼び出すと、プリコンパイル時にjs.erbファイルからモデルにアクセス

_this.nations = <%= Nation.all.to_json :only => [:id], :methods => :text %>; 

諸国ファイルの必要がない/assets/users.js_this.nations変数が完全に移入されます。私はプリコンパイルをしようとすると私は、次を得る:

$> rake assets:precompile 
$> rake aborted! 
uninitialized constant Nation (in nations.js.erb) 

だから私の質問はこれです:それはプリコンパイルのためjs.erbファイル内から、Nationモデル、または任意のモデルを参照することは可能でしょうか?私もNationsHelperを使ってみましたが、私のエラーは初期化されていない定数NationsHelperに変更されました。

私はRoRをかなり新しくしています。私が提供していない関連情報が必要な場合は、尋ねてください。

答えて

7

あなたはfalseconfig.assets.initialize_on_precompileセットをお持ちの場合はどこかに、あなたは、コントローラ

コントローラ

@nations = Nation.all 

nations.jsに通話を発信していないのはなぜ

config.assets.initialize_on_precompile = true 
+0

それはそれを修正した、あなたの助けを大変ありがとう。 –

+0

これは意外にも、Herokuのintialize_on_precompileの問題に影響しません。 – Trip

0

それを可能にしてみてください。エルブ

_this.nations = <%= @nations.all.to_json :only => [:id], :methods => :text %>; 
関連する問題