Rails 3.2.8中的Twitter Bootstrap和jQuery.ui冲突

时间:2012-09-21 15:00:37

标签: ruby-on-rails jquery-ui twitter-bootstrap gem ruby-on-rails-3.2

我有一个处理Bootstrap 2.0的rails应用程序。它还使用jQuery autocomplete combobox。我的application.js看起来像这样:

//= require jquery
//= require bootstrap
//= require jquery_ujs
//= require jquery.ui.all
//= require rails.validations
//= require jquery.quicksearch
//= require jquery-tablesorter/jquery.metadata
//= require jquery-tablesorter/jquery.tablesorter
//= require jquery-tablesorter/jquery.tablesorter.widgets
//= require jquery-tablesorter/addons/jquery.tablesorter.pager
//= require_tree .

问题在于这种方式自动完成有效,但是按下它们后某些按钮不会使类“活动”。当我在query.ui.all声明之后把require bootstrap放在这里

//= require jquery
//= require jquery.ui.all
//= require bootstrap
//= require jquery_ujs
一切都以完全相反的方式发生:按钮工作,但组合框没有。 这是我的Gemfile(部分内容):

source 'https://rubygems.org'

gem 'rails', '3.2.8'
gem 'bootstrap-sass', '2.0.0'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.4'
  gem 'coffee-rails', '3.2.2'
  gem 'jquery-ui-rails'
  gem 'jquery-tablesorter'    
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.2'
gem 'client_side_validations'

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

总是首先加载jquery和jquery ui,因为几乎每个javascript都依赖于它们

答案 1 :(得分:2)

通过手动添加以某种方式不适用于该元素的类和跨度来修改自动完成组合框js代码来解决此问题。