在Rails中调试jQueryUI版本

时间:2013-05-28 22:26:23

标签: ruby-on-rails-3 jquery-ui

在我的Rails项目中,用于排序<li>元素列表的旧jQuery代码已损坏。记录的错误是:

TypeError: $.ui.isOverAxis is not a function

我认为罪魁祸首是 jquery-ui.js (v1.9.2)的不受欢迎的旧版本正在进入我的标题,我不知道如何删除它。

不需要的jQuery文件来自jquery-rails gem。我不明白为什么,因为我已从 application.js 文件中删除了//= require jquery-ui行。

这是我当前的 application.js 文件:

//= require moment.min.js
//= require nicEdit.js
//= require jquery
//= require jquery_ujs
//= require jquery.ui.all
//= require_tree .

我的Gemfile已更新为最新版本的jquery-rails gem(2.2.1)和jquery-ui-rails gem(4.0.3)。

在开发模式的头文件中出现了旧版本的jquery(1.9.2):

<script type="text/javascript" src="/assets/jquery-ui.js?body=1"></script>

通过在开发模式下调试,我可以看出 jquery-ui.js 文件来自jquery-rails gem。

有关如何解决此问题的任何建议吗?

更新

我已更新问题以反映我发现 jquery-ui.js 文件实际上来自jquery-rails gem。

1 个答案:

答案 0 :(得分:1)

似乎ActiveAdmin正在调用//= require jquery-ui,而jquery-rails依次从jquery-ui-rails拉入 jquery-ui.js 文件。

该文件破坏了jquery-rails的jQueryUI版本。

长期解决方案可能是//= require jquery.ui.all删除 jquery-ui.js 文件,或者至少重命名它。

在短期内,我通过删除jquery-rails并完全依赖jquery-ui-rails解决了我的问题,完全跳过了{{1}}。