2013-05-28 39 views
0

在我的Rails項目中,用於排序<li>元素列表的舊jQuery代碼已損壞。該記錄的錯誤是:在Rails中調試jQueryUI版本

TypeError: $.ui.isOverAxis is not a function 

我認爲罪魁禍首是,jQuery的ui.js(v1.9.2的)不想要的,舊版本使它成爲我的頭,我不知道如何將其刪除。

不需要的jQuery文件來自jquery-rails寶石。我不明白爲什麼,因爲我已經從我的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寶石(2.2.1)和jquery-ui-rails寶石(4.0.3)的。

然而,舊版本的jQuery(1.9.2)在我的頭文件中出現的發展模式:

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

通過在開發模式下的調試,我可以告訴大家,jQuery的ui.js文件來自jquery-rails寶石。

有關如何解決此問題的任何建議?

UPDATE

我已經更新的問題,以反映我的發現:jQuery的ui.js文件,實際上,從jquery-rails寶石來。

回答

1

看來,ActiveAdmin呼籲//= require jquery-ui,其又在jQuery的ui.js文件甩開jquery-rails

該文件正在從jquery-ui-rails中剔除jQueryUI的版本。

長期的解決方案可能是爲jquery-rails刪除jquery-ui.js文件,或者至少重命名它。

在短期內,我通過刪除//= require jquery.ui.all並完全依賴jquery-rails,完全跳過jquery-ui-rails來解決我的問題。