0

我的rails 站点中有一个javascript 文件,它可以很好地加载扩展名.js。

我需要在其中使用图像助手标签,因此根据文档,我需要添加一个 erb 扩展名 - 使其成为 .js.erb。

一旦我将扩展名更改为 .js.erb(将 javascript 文件保持原样,IE 没有 ruby​​),它就会中断并且 javascript 不再工作。

当我用 chrome 检查器检查它时,javascript 内容如下:

(function() {


}).call(this);

但是,当扩展名只是 .js 时很好。

我究竟做错了什么?

编辑:: 没有 .erb 扩展,相关的 javascript 行在 chrome 检查器中返回这个:

function fancyViewReport() {
    return '<div class="demo-report-title"><a class="fancyReport" href="<%= asset_path 'demoreport.png' %>">Click <u>here</u> to view a demo report!</a></div>';
}

这个 javascript 文件正在通过 application.js 调用

4

2 回答 2

1

据我所知,js.erb是为 ajax 类型请求制作的。我认为,如果您的ajax_method呼叫在控制器之下 someController并且如果您有 someController.js.erb文件,则应该将其放入app/views/someController并确保您有类似的东西

def ajax_method
    ...
    respond_to do |format|
      format.js
    end
  end
于 2013-08-15T22:00:46.837 回答
0

好的,我最终通过创建一个新文件并将以前的 javascript 文件的内容复制粘贴到其中来解决这个问题,这很奇怪。

于 2013-08-16T02:42:51.143 回答