当我在Heroku上部署我的项目后,我在Firebug中得到了以下代码:
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> Firebug突出显示此行“
new SirTrevor.Editor({ el: instance, blockTypes: ["Heading", "Text", "Image", "Video", "Embedly"], defaultType: "Text" });“
在本地主机上,一切似乎都很好,没有错误。有人知道问题出在哪里吗?非常感谢你的帮助!真的很感谢!
更新:
SirTrevor在sir-SirTrevor.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 assets:预编译“。在本地主机上,一切似乎都很好。
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>发布于 2013-11-22 11:12:43
为了结束这个问题,我做了一个简短的总结:多亏了@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 .https://stackoverflow.com/questions/20106760
复制相似问题