Javascript ReferenceError:未定义

Javascript ReferenceError:未定义,javascript,jquery,ruby-on-rails,heroku,Javascript,Jquery,Ruby On Rails,Heroku,在Heroku上部署我的项目后,我在Firebug中获得以下代码:此错误: 参考错误:未定义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

在Heroku上部署我的项目后,我在Firebug中获得以下代码:此错误:

参考错误:未定义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> 
"

在本地主机上,一切正常,没有错误。 有人知道问题出在哪里吗? 非常感谢您的帮助!非常感谢

更新:

SirTrevor在sir-trevor.js中定义,该文件通过application.js文件中的Rails资产管道成功加载

这是我的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之前,我会做“rake资产:预编译”。在本地主机上,一切似乎都很好

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>

Tt
“全部”%>

为了结束这个问题,做一个简短的总结: 多亏@iamjpg的帮助,我终于找到了答案

首先,我从
中删除了所有javascript,并将其放入单独的js文件中。 然后我调整了application.js文件中的层次结构。Sir-Trevor依赖于下划线.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 .

嗯,
SirTrevor
没有定义。从那里开始。1)从哪里定义
SirTrevor
;2)资源是否已成功加载?(使用web浏览器开发工具监视网络请求。)检查所有Javascript文件是否正确加载。包含SirTrevor类的脚本没有加载。我猜这是一个外部脚本,您没有预编译它。如果没有加载,请在控制台中查看。在我的情况下,我在
标记中使用了带有CSS扩展名的URL而不是JS。编辑器没有对此发出警告。。。
//= require jquery
//= require underscore.js
//= require eventable.js
//= require twitter/bootstrap
//= require jquery_ujs
//= require sir-trevor
//= require jquery.sidr.js
//= require_tree .