Rails 3.2 jquery_ujs在未压缩资产时复制 javascript 调用

Rails 3.2 jquery_ujs duplicating javascript calls when assets not compressed

提问人:jamesdlivesinatree 提问时间:5/11/2014 最后编辑:jamesdlivesinatree 更新时间:5/11/2014 访问量:77

问:

我不确定这是何时或如何开始发生的,但每当我在

应用程序.js

//= require jquery

//= require jquery_ujs

在我的配置文件中,我有以下内容:

 config.assets.compress = false

 config.assets.compile = true

我的资产不会被压缩和单独提供,这是我在我的开发环境中想要的。但是,只要存在,我所有的 javascript 事件(例如 in.对于上面的链接,如果加载了 jquery_ujs 和 jquery,我会收到两个警报。如果我摆脱jquery_ujs,就会发出一个警报。我知道我应该同时拥有 jquery 和 jquery_ujs,所以它们现在都包含在 application.js 中。当我的资产未被压缩时,我会得到这样的服务://= require jquery_ujsapplication.js:confirm<%= link_to 'Destroy All', object_destroyall_path, :confirm => 'Are you sure?' %>

enter image description here

现在,如果我更改设置并压缩我的资产

 config.assets.compress = true

 config.assets.compile = false

我不再有重复的javascript事件的问题。但是我需要能够在开发过程中以未压缩的方式运行我的资产。那么这是怎么回事呢?我试过了

 RAILS_ENV=development bundle exec rake assets:clean
 RAILS_ENV=development bundle exec rake assets:precompile

但我不认为这些应该对我未压缩的资产做任何事情,对吗?我相信jquery_ujs在某个地方被加载了两次,但我真的不知道。在控制台中,我没有收到任何错误。有什么想法吗?

编辑:澄清一下,jquery_ujs函数是唯一被复制的与javascript相关的事件。我单独编写的调用,不处理 ujs,工作正常。只有使用 ujs 的控件,例如我提到的。link_to

javascript jquery ruby-on-rails 不显眼的javascript

评论

0赞 jamesdlivesinatree 5/15/2014
有人有什么想法吗?jquery_ujs加载了两次,这是最合乎逻辑的解决方案。我不确定它会从哪里加载,或者如何清除它。

答: 暂无答案