2013-11-20 53 views
1

当我部署我在Heroku上的项目,我得到在Firebug下面的代码此错误:的ReferenceError:未定义

的ReferenceError:SirTrevor没有定义

<script type="text/javascript" charset="utf-8"> 
$(function(){ 
    var instances = $('.sir-trevor-area'), 
    l = instances.length; 
while (l>=2) { 
instance = $(instances[l]); 
new SirTrevor.Editor({ el: instance, blockTypes: ["Video"], defaultType: "Video" }); 
l--; 
}; 
while (l>=1) { 
instance = $(instances[l]); 
new SirTrevor.Editor({ el: instance, blockTypes: ["Embedlylink"], defaultType: "Embedlylink" }); 
l--; 
}; 
while (l>=0) { 
instance = $(instances[l]); 
new SirTrevor.Editor({ el: instance, blockTypes: ["Heading", "Text", "Image", "Video", "Embedly"], defaultType: "Text" }); 
l--; 
}; 
}); 
</script> 

萤火虫凸显这一行“

new SirTrevor.Editor({ el: instance, blockTypes: ["Heading", "Text", "Image", "Video", "Embedly"], defaultType: "Text" }); 

localhost上似乎一切都很好,没有任何错误。 任何人都知道问题可能是什么? 非常感谢您的帮助!非常感谢!

UPDATE:

SirTrevor在其经由在的application.js文件滑轨资产管道成功加载SIR-trevor.js定义。

这是我的application.js文件:

//= require jquery 
//= require jquery_ujs 
//= require sir-trevor 
//= require underscore.js 
//= require eventable.js 
//= require twitter/bootstrap 
//= require jquery.sidr.js 
//= require_tree . 

推的Heroku之前,我做 “耙资产:预编译”。在本地主机上一切似乎都很好。

的application.html.erb头:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Tt</title> 
    <%= stylesheet_link_tag "application", :media => "all" %> 
    <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" rel="stylesheet"> 
    <%= javascript_include_tag "application" %> 
    <%= csrf_meta_tags %> 

</head> 
+1

好吧,**'SirTrevor'是* not * defined **。从那里开始。 1)从*其中*是“SirTrevor”进行定义; 2)*是*资源被成功加载? (使用网络浏览器开发工具来监视网络请求。) – user2864740

+0

检查您的所有Javascript文件是否正确加载。 – 2013-11-20 20:55:43

+0

包含SirTrevor类的脚本未加载。 – adeneo

回答

2

为了关闭问题的简短综述: 由于@iamjpg的帮助下,我终于想通了。

首先我从<body>中删除了所有的javascript,并放入单独的js文件中。 然后我调整了application.js文件中的层次结构。 Sir-Trevor对underscore.js和eventable.js有依赖关系,所以他们必须比sir-trevor.js更高。

//= require jquery 
//= require underscore.js 
//= require eventable.js 
//= require twitter/bootstrap 
//= require jquery_ujs 
//= require sir-trevor 
//= require jquery.sidr.js 
//= require_tree . 
+0

在我的情况下,我在'