【发布时间】:2015-10-16 12:32:16
【问题描述】:
我的 Javascript 仅在 Rails 中刷新页面后加载。经过调查,推荐的解决方案似乎是使用 turbolinks。但是,当我包含 jquery-turbolinks gem 时,JQuery 本身似乎可能由于某些依赖错误而崩溃。
Uncaught TypeError: Cannot read property 'length' of undefined
这是我的 application.js 文件的样子
//= require turbolinks
//= require angular/angular.min
//= require angular/angular-route.min
//= require jquery
//= require jquery_ujs
//= require jquery-ui.min
//= require jquery.turbolinks
//= require chosen-jquery
//= require bootstrap
//= require conversations
//= require analytics
//= require common
//= require jquery.infinite-pages
//= require jquery.contenthover
//= require overlay
//= require tag-it.min
//= require_tree .
//= require_tree ../../../vendor/assets/javascripts/.
总而言之,如果我不使用 jquery-turbolinks,我的 JS 将在页面刷新之后才会加载。如果我确实使用它,jQuery 就会崩溃。如果我尝试把它放在require jquery之前,它找不到JQuery文件并说$不是一个函数。
【问题讨论】:
-
你应该用这个
//= require turbolinks替换//= require jquery.turbolinks
标签: javascript ruby-on-rails ruby-on-rails-4 turbolinks