Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在基于Rails 3.1资产的应用程序中包含两次javascript_Javascript_Ruby On Rails_Ruby On Rails 3.1_Asset Pipeline - Fatal编程技术网

在基于Rails 3.1资产的应用程序中包含两次javascript

在基于Rails 3.1资产的应用程序中包含两次javascript,javascript,ruby-on-rails,ruby-on-rails-3.1,asset-pipeline,Javascript,Ruby On Rails,Ruby On Rails 3.1,Asset Pipeline,虽然这个问题的标题与之前的许多问题非常相似,但我的问题似乎不同 简而言之,js清单中的第一项包含两次 以下是我在Rails 3.1应用程序中的整个/app/assets/javascript/application.js文件: //= require jquery //= require jquery-ui //= require jquery_ujs //= require autocomplete-rails //= require utilities 下面是呈现页面的源代码片段: <

虽然这个问题的标题与之前的许多问题非常相似,但我的问题似乎不同

简而言之,js清单中的第一项包含两次

以下是我在Rails 3.1应用程序中的整个
/app/assets/javascript/application.js
文件:

//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require autocomplete-rails
//= require utilities
下面是呈现页面的源代码片段:

<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/autocomplete-rails.js?body=1" type="text/javascript"></script>
<script src="/assets/utilities.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
它总是第一个包含两次的项目

<script src="/assets/utilities.js?body=1" type="text/javascript"></script>
<script src="/assets/utilities.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/autocomplete-rails.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
和js操作触发两次(例如,删除模型时会弹出两次确认对话框)


朱塞佩

我以前也遇到过类似的情况,我只是在第一个链接上留下了一个空白,这对我很有用。试试看

/*leave the following line empty */

//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require autocomplete-rails
//= require utilities
看看这个:

您还应该检查是否尚未编译资产,即没有public/assets目录。如果有删除它,反弹你的服务器,你应该很好去


最终,这两种解决方案对我都不起作用,所以我只是将config.assets.debug设置为false。我不能用那种方式调试我的js,但至少现在它解决了这个问题。

事实证明,罪魁祸首是插件,特别是小部件初始化的一部分

移除后,一切恢复正常。Javascript资产现在按照预期在开发和生产中加载一次

虽然我很抱歉没有尽早发现这个问题是我的设置所特有的,但我仍然希望这个解决方案能起到一定的作用。谢谢大家


朱塞佩

您是否有公开的文件/资产?如果您确实删除了它们,因为这可能会导致此重复。否,我的开发的/public中没有资产目录。您是否尝试将config/environments/development.rb config.assets.debug更改为false,怀疑它在包含我尝试过的所有资产时是否做了“正确的事情”,并造成了严重破坏。请查看原始问题的更新。谢天谢地,不,我试着挖掘依赖关系和所谓的where,但这没有多大意义。问题是,worksconfig.assets.debug=false会让事情变得更糟。请查看原始问题的更新。谢谢你试着用Vosobe Kapsimanis的回答,发表评论,然后在所有内容上方空行?您是否尝试过将配置与新的rails应用程序进行比较?不过,对我来说,这听起来很像空行问题,这似乎是rails的一个bug。
<script src="/assets/application.js" type="text/javascript"></script>
<script src="/assets/application.js" type="text/javascript"></script>
/*leave the following line empty */

//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require autocomplete-rails
//= require utilities