6

Rails 3 アプリがあり、データベース内のすべての国 (300 か国未満) を JSON オブジェクトとして JavaScript 変数に入力しようとしています。これは私のnations.js.erbファイルの関連する行です:

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

/assets/users.js国家ファイルを必要とするブラウザでjsファイルを呼び出すと、_this.nations変数は完全に設定されます。プリコンパイルを実行しようとすると、次のようになります。

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

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

私は RoR にかなり慣れていないので、提供していない関連情報が必要な場合は、質問してください。

4

2 に答える 2

7

どこかにconfig.assets.initialize_on_precompile設定している場合は、有効にしてみてくださいfalse

config.assets.initialize_on_precompile = true
于 2012-10-15T18:03:46.260 に答える
0

コントローラーで電話をかけてみませんか

コントローラ

@nations = Nation.all

Nations.js.erb

_this.nations = <%= @nations.all.to_json :only => [:id], :methods => :text %>;
于 2012-10-15T18:38:39.490 に答える