所以,我有一个应用程序,它使用RoR 4.2.0和Ruby 2.2.0。这是一家网上商店,它有一个商店的商品,有一个'添加到购物车'按钮,我已经设置使用远程通话将产品添加到购物车。购物车还有一个按钮,通过远程调用可以销毁当前购物车。Rails - Bootstrap和AJAX调用
这用于在Rails 4.1.x上运行良好,但是在将我的应用程序升级到4.2.0(并将所有其他宝石更改为最新版本)之后,它没有。问题是,它在每个远程调用中发送2个调用,而不是一个(在某些时候它也发送了3个调用,我没有意识到它发生的时间,因为我已经与代码库中的其他地方一起修改),结果是在点击添加到购物车按钮时添加了两个项目,并且在销毁购物车点击两个提示进行删除。
我试图解决这个问题,我改变了application.js中条目的位置,如另一个问题所述。这是我目前的application.js:
//= require bootstrap
//= require jquery
//= require jquery-ui/effect-blind
//= require jquery_ujs
//= require turbolinks
//= require underscore
//= require gmaps/google
//= require analytics
//= require blueimp-gallery-all
如果我离开这个现在的方式,引导导航栏菜单工程(为什么引导需要jQuery的,是不是啊?),但我有问题,上述。如果我将Bootstrap移动到jquery下面,那么AJAX调用就像他们应该那样工作,但我没有Bootstrap菜单。奇怪的部分是,如果我删除整个jquery行,一切正常,因为它应该。这里发生了什么? Bootstrap是否开始在某个时候包含jQuery?或者我的资产管道以某种方式“受损”?我已清除临时资产和资产(耙清:清除& &耙资产:清除)。
编辑:从javascript.js中删除jquery不生产,但在开发中工作。我很困惑。
您是否调用过'javascript_include_tag“应用程序两次? – 2015-03-03 07:31:32
你使用了什么'bootstrap gem'? 如果您使用[此宝石](https://github.com/seyhunak/twitter-bootstrap-rails)。那么你应该遵循这个指导方针[https://github.com/seyhunak/twitter-bootstrap-rails#using-javascript] – 2015-03-03 07:36:11
我使用'bootstrap-sass',javascript_include_tag被调用一次。 – gemantzu 2015-03-03 07:43:15