在javascript中嵌入erb代码以用于资产管道

Zub*_*bin 7 javascript erb ruby-on-rails-3.1 asset-pipeline

在我的rails 3.1.3应用程序中,我想在我的javascript文件中插入一些ERB代码但是由于某种原因它没有被解析:

# app/assets/javascripts/application.js
//= require_tree ./shared

# app/assets/javascripts/shared/shared.js.erb
MM.loading = '<img src="<%= asset_path("icons/ajax-loader.gif") >">';
Run Code Online (Sandbox Code Playgroud)

获取如下所示/application.js:

MM.loading = '<img src=" asset_path("icons/ajax-loader.gif") >">';
Run Code Online (Sandbox Code Playgroud)

我在导轨指南中看不到任何额外的步骤 - 有什么我想念的吗?顺便说一下,我正在使用haml作为视图文件,并且还尝试了上面的内容.js.haml,包含在中#{...}.

Ric*_*lse 10

您的代码中存在语法错误.这个:

MM.loading = '<img src="<%= asset_path("icons/ajax-loader.gif") >">';
Run Code Online (Sandbox Code Playgroud)

应该这样:

MM.loading = '<img src="<%= asset_path("icons/ajax-loader.gif") %>">';
Run Code Online (Sandbox Code Playgroud)

您错过了帮助程序代码块的结束erb标记.