预编译时从js.erb文件访问模型

Eri*_*ers 6 ruby-on-rails precompile asset-pipeline

我有一个Rails 3应用程序,我试图用我的数据库中的每个Nation(少于300个国家)填充javascript变量作为JSON对象.这是我nations.js.erb文件中的相关行:

_this.nations = <%= Nation.all.to_json :only => [:id], :methods => :text %>;
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中调用我的js文件时,/assets/users.js这需要民族文件,该_this.nations变量完全填充.当我尝试进行预编译时,我得到以下内容:

$> rake assets:precompile
$> rake aborted!
uninitialized constant Nation (in nations.js.erb)
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:是否可以Nationjs.erb文件中引用模型或任何模型进行预编译?我也尝试使用我的NationsHelper但我的错误只是改为未初始化的常量NationsHelper.

我对RoR很新,所以如果需要我没有提供的相关信息,请问问.

Hit*_*eeb 7

如果您已config.assets.initialize_on_precompile设置到false某处,请尝试启用它

config.assets.initialize_on_precompile = true
Run Code Online (Sandbox Code Playgroud)