2017-02-02 41 views
0

我正在一個Rails應用程序。這是一個標準的應用程序,使用服務器呈現的頁面和jquery。我有一個非常困難的時間在一起爭吵jquery,我不知道爲什麼。rails + jquery - 每頁錯誤,但它仍然有效(有時)

我使用jquery的一對夫婦的東西:datepickertimepicker。這僅用於用戶可以使用的表單,並呈現在可供創建/編輯的用戶部分。

我的JavaScript的結構是現在我正在使用1個JavaScript文件main這是我的application.js需要。這就是我使用的所有JS。

的application.js

//= require jquery 
//= require jquery_ujs 
//= require jquery-ui 
//= require bootstrap.min.js 
//= require jquery.raty.min.js 
//= require jquery.turbolinks 
//= require chosen-jquery 
//= require turbolinks 
//= require main 
//= require_tree . 

main.js

$(document).ready(function() { 

    // users profile stuff 
    if ($('table.calendar tbody tr td ul').hasClass('active-trip')) { 
    $('.active-trip').parent().css('background-color', 'orange'); 
    } 

    $("#trip_start_date").datepicker({ 
    minDate: 1 
    }); 

    $("#start_date").datepicker({ 
    minDate: 1 
    }); 
    $("#end_date").datepicker({ 
    minDate: 1 
    }); 
    // ========== 


    // js in user's trips 
    $('#trip_start_time').timepicker(); 

    $('#trip_end_time').timepicker(); 
    // =========== 

}); 

,我有是我使用的是導航欄的引導,與它的一些JS效果(下拉菜單的問題)。在這個頁面上(一個叫做「健身房」或/健身房的資源),JS徹底崩潰,導致導航欄無用。我正的錯誤是

Uncaught TypeError: $(...).timepicker is not a function

而且我注意到,當我得到這個錯誤一次,然後就開始重複,我得到它的每一頁上。但是,當我回到使用此代碼的表單時,即使出現錯誤,它也可以正常工作

這可能是一個問題turbolinks,但我真的不知道。我正在使用這些寶石

gem 'jquery-rails' 
gem 'jquery-ui-rails' 
gem 'turbolinks' 
gem 'jquery-turbolinks' 

如果這有助於任何事情。我也玩過使用application.html.erb中呈現的jQuery CDN腳本,但這似乎並不能幫助或傷害任何東西,並且非常中性。任何幫助,將不勝感激

回答

0

嘗試改變需要的順序爲:所有其他腳本之前

//= require jquery 
//= require jquery.turbolinks 
//= require jquery_ujs 
// 
// ... your other scripts here ... 
// 
//= require turbolinks 

放jquery.tubolinks但jQuery的右後

+0

感謝您的回答。把'jquery.tubolinks'放在其他所有的'$不是函數'錯誤,然後把'jquery'放在'jquery-turbolinks'上面修正錯誤,但是導致原始錯誤仍然是 –

+0

你實際上包括timepicker js?我看不到你在你的問題 –

+0

謝謝你的建議,我不能相信我忘了!這帶走了錯誤,但仍然是一個奇怪的「錯誤」,有時我可以點擊我的導航欄下拉菜單,但其他時間我不能。沒有錯誤,沒有任何東西。有些頁面我無法點擊它,有些頁面我可以點擊它。你知道這是爲什麼嗎? –

相關問題