提问人:jamesdlivesinatree 提问时间:5/11/2014 最后编辑:jamesdlivesinatree 更新时间:5/11/2014 访问量:77
Rails 3.2 jquery_ujs在未压缩资产时复制 javascript 调用
Rails 3.2 jquery_ujs duplicating javascript calls when assets not compressed
问:
我不确定这是何时或如何开始发生的,但每当我在
应用程序.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_ujs
application.js
:confirm
<%= link_to 'Destroy All', object_destroyall_path, :confirm => 'Are you sure?' %>
现在,如果我更改设置并压缩我的资产
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
答: 暂无答案
评论