rails + jquery - 每个页面都有错误,但它仍然有效(有时)
Posted
技术标签:
【中文标题】rails + jquery - 每个页面都有错误,但它仍然有效(有时)【英文标题】:rails + jquery - errors on every page but it still works (sometimes) 【发布时间】:2017-06-20 00:39:16 【问题描述】:我正在开发一个 Rails 应用程序。它是一个标准应用程序,使用服务器呈现的页面和 jquery。我很难将 jquery 拼凑在一起,我不知道为什么。
我将 jquery 用于几件事:datepicker 和 timepicker。这仅用于用户可以使用的表单,并在用户可以创建/编辑的部分呈现。
我的 javascript 的结构现在我正在使用 1 个名为 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 .
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 效果(下拉菜单)。在这一页(称为“Gyms”或 /gyms 的资源)上,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 脚本,但这似乎并没有真正帮助或伤害任何东西,而且几乎是中性的。任何帮助将不胜感激
【问题讨论】:
【参考方案1】:尝试改变要求的顺序:
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//
// ... your other scripts here ...
//
//= require turbolinks
将 jquery.tublinks 放在所有其他脚本之前,但在 jquery 之后
【讨论】:
感谢您的回答。将jquery.tubolinks
放在其他所有内容之上得到$ is not a function
错误,然后将jquery
放在jquery-turbolinks
之上修复了该错误,但仍然导致原始错误
你真的包含了timepicker js吗?我看不到你的问题
感谢您的建议,我不敢相信我忘记了!这消除了错误,但仍然是一个奇怪的“错误”,有时我可以点击我的导航栏下拉菜单,但其他时候我不能。没有错误,什么都没有。有些页面我不能点击它,有些页面我可以点击它。你知道为什么会这样吗?
nvm 我认为这解决了那个烦人的错误:***.com/questions/11697789/…以上是关于rails + jquery - 每个页面都有错误,但它仍然有效(有时)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JSON 和 jQuery 在 Rails 2.3.5 中显示服务器错误
在 Cucumber + Capybara + PhantomJS 在 Rails 中调试 jQuery Ajax
rails javascript jquery:通过页面部分时导航栏标题中的粗体效果
如何修复 JSON、jQuery、AJAX 和 PHP 之间的错误