Javascript 轨道&x2B;jquery-每个页面都有错误,但它仍然有效(有时)

Javascript 轨道&x2B;jquery-每个页面都有错误,但它仍然有效(有时),javascript,jquery,ruby-on-rails,jquery-ui,Javascript,Jquery,Ruby On Rails,Jquery Ui,我正在开发rails应用程序。它是一个标准应用程序,使用服务器呈现的页面和jquery。我在一起讨论jquery时经历了一段相当艰难的时间,我不知道为什么 我将jquery用于两个方面:a和a。它仅用于用户可以使用的表单,并在用户可以创建/编辑的用户部分中呈现 我的javascript的结构是现在我正在使用一个名为main的javascript文件,这是我的application.js所必需的。这就是我正在使用的所有JS application.js //= require jquery //=

我正在开发rails应用程序。它是一个标准应用程序,使用服务器呈现的页面和jquery。我在一起讨论jquery时经历了一段相当艰难的时间,我不知道为什么

我将jquery用于两个方面:a和a。它仅用于用户可以使用的表单,并在用户可以创建/编辑的用户部分中呈现

我的javascript的结构是现在我正在使用一个名为
main
的javascript文件,这是我的
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 .
$(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();
  // ===========

});
main.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 .
$(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效果(下拉列表)。在这一页(称为“Gyms”或/Gyms的资源)上,JS完全中断,使导航栏无用。我得到的错误是

未捕获类型错误:$(…)。时间选择器不是一个函数

我注意到当我得到一个错误,然后它开始重复,我在每一页上得到它。但是,当我回到我使用这段代码的表单时,即使有错误,它也可以完全正常工作

这可能是turbolinks的问题,但我真的不确定。我在用这些宝石

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

如果有帮助的话。我还尝试过使用
application.html.erb
中呈现的jQuery CDN脚本,但这似乎并没有什么帮助或伤害,而且非常中立。任何帮助都将不胜感激

尝试更改要求的顺序:

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

将jquery.tubolinks放在所有其他脚本之前,但放在jquery之后

谢谢您的回答。把
jquery.tubolinks
放在其他所有东西之上得到了一个
$不是一个函数
错误,然后把
jquery
放在
jquery turbolinks
上面修复了这个错误,但是导致了最初的错误。你真的包括时间选择器js吗?我看不出你在问题上是这样的谢谢你的建议,我不敢相信我竟然忘了!这消除了错误,但仍然是一个奇怪的“错误”,有时我可以点击导航栏下拉列表,但有时我不能。没有错误,什么都没有。有些页面我无法点击,有些页面我可以点击。你知道为什么吗?nvm我认为这解决了那个恼人的错误: