Javascript不会加载.js.erb扩展名

时间:2013-08-15 21:26:47

标签: javascript ruby-on-rails erb

我的rails网站上有一个javascript文件,扩展名为.js。

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

只要我将扩展名更改为.js.erb(将javascript文件保留为原样,IE没有红宝石),它就会中断并且javascript不再有效。

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

(function() {


}).call(this);

但扩展只是.js。

时没关系

我做错了什么?

编辑::没有.erb扩展名,相关的javascript行会在chrome inspector中返回:

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>';
}

通过application.js

调用此javascript文件

2 个答案:

答案 0 :(得分:1)

据我所知,js.erb是针对ajax类型的请求而制作的。我认为,如果您的ajax_method被控制在控制器someController下,并且您有someController.js.erb个文件,则应将其放入app/views/someController并确保您有类似的事情

def ajax_method
    ...
    respond_to do |format|
      format.js
    end
  end

答案 1 :(得分:0)

好的,我最终通过创建一个新文件并将上一个javascript文件的内容粘贴到其中来修复此问题,非常奇怪。