Rake预编译使用未定义的错误破坏Javascript

张德los

我将ng-grid与Rails结合使用,并在主页上复制了第一个示例,其中:

<div class="gridStyle" ng-grid="availOptions"></div>
$scope.arr = [{name: "Moroni", age: 50},
                 {name: "Tiancum", age: 43},
                 {name: "Jacob", age: 27},
                 {name: "Nephi", age: 29},
                 {name: "Enos", age: 34}]

$scope.availOptions = {
data: 'arr'
}

在对资产进行预编译之前,这非常有用。但是跑步后

$ rake assets:precompile

我们突然得到两个表-请参阅http://grab.by/t2dm-并显示错误:

无法调用未定义的方法“ selectionHandlers”

我已经广泛搜索了此问题,但是找不到任何其他在线帮助。所以我想我会在这里发布,因为过去几天我一直在尝试调试它。救命!

任何和所有帮助将不胜感激。

米加尔

您正在开发中吗?如果是这样,您几乎可以肯定需要关闭资产调试。否则,所有的脚本和样式表都将被复制,因为您同时获得了级联/缩小的版本和未编译的版本。

问题在于javascript_include_tag "application.js"

基本上,在开发中,它会扩展为以下几行:

<script src="application.js?body=1"></script>
<script src="my-file1.js?body=1"></script>
<script src="my-file2.js?body=1"></script>
... etc ...

在生产中,关闭资产调试后,您会看到单个串联文件,其资产管道指纹:

<script src="application.js-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.js"></script>

问题是,在开发中,一旦编译了首先application.js?body=1包含所有脚本的资产,就可以了。但是随后,脚本又被后续的行包含了。

查看您网站的来源;如果您只有一个<script src="application-xxxxxxxx.js"></script>,则资产调试已关闭,并且此答案将无用。如果<script>每个源文件都有一个则将打开资产调试,并且每个脚本将运行两个副本。

当您预编译资产,但继续在默认情况下启用资产调试的开发环境中运行应用程序时,通常会发生这种情况。开发环境和预编译资产兼容;预编译资产后,您需要杀死服务器并使用重启服务器RAILS_ENV=production,假设您的开发副本已使用合理的伪生产配置进行了设置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

预编译SCSS:变量未定义(Rails 4)

来自分类Dev

在预编译的HBS模板中未定义Ember

来自分类Dev

在Rails资产预编译期间未定义Sass变量

来自分类Dev

在预编译的HBS模板中未定义Ember

来自分类Dev

使用libpcsclite错误编译进行开发(未定义)

来自分类Dev

编译错误:未定义引用

来自分类Dev

编译错误:未定义引用

来自分类Dev

Javascript“ ---未定义”错误

来自分类Dev

未定义javascript错误

来自分类Dev

Javascript(未定义错误)

来自分类Dev

Javascript映射显示错误消息(如果未定义而不是破坏)

来自分类Dev

heroku推送错误:“ rake资产:预编译rake中止了!”

来自分类Dev

rake db:migrate name错误未定义的方法

来自分类Dev

Rails_admin无法预编译用于生产的资产:未定义的混合

来自分类Dev

使用php / ajax / json等的未定义数组错误(javascript)

来自分类Dev

如何修复编译错误:从Outlook使用Excel VBA时未定义用户定义类型?

来自分类Dev

JavaScript日期未定义错误

来自分类Dev

Javascript未定义错误:`this`为null

来自分类Dev

JavaScript-数组“未定义”错误

来自分类Dev

kongregate未定义错误javascript

来自分类Dev

选项未定义:Highchart错误,Javascript

来自分类Dev

Javascript Onclick事件错误:未定义$

来自分类Dev

javascript对象未定义错误

来自分类Dev

javascript获取函数未定义错误

来自分类Dev

JavaScript变量未定义错误

来自分类Dev

未定义不是函数javascript错误

来自分类Dev

Javascript未定义错误:`this`为null

来自分类Dev

未定义Javascript错误不是函数

来自分类Dev

JavaScript日期未定义错误