2013-11-20 134 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

在我的情況下,我在'