【发布时间】:2015-06-22 13:07:50
【问题描述】:
直到昨天,jQuery 在我的 Rails 应用程序中加载得还不错。我正在尝试安装调试器/ruby-debug gem。正如您可能知道的那样,Rails 3 中的调试器 gem 存在问题,并且我未能成功安装依赖项,因此我从 Gemfile 中删除了 gem。从那以后加载我的网站时,jQuery 没有加载。这些是我在控制台中看到的消息:
assets/jquery_ujs.js?body=1:377Uncaught ReferenceError: jQuery is not defined
bootstrap-transition.js:24Uncaught TypeError: undefined is not a function
bootstrap.js:3Uncaught ReferenceError: jQuery is not defined
welcome:210Uncaught ReferenceError: $ is not defined
这是我的 application.js 文件:
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require_tree .
如果我在 layouts/application.html.erb 中显式加载 jQuery,就像这样,它可以工作:
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" %>
<%= javascript_include_tag "application" %>
有什么想法可以解决这个问题并再次加载 jQuery 吗?查看 .rvm/gems/ruby-1.9.3-p125/gems/jquery-rails-2.0.2/vendor/assets/javascripts 我可以看到 jquery.js 和 jquery.min.js 仍然存在。
【问题讨论】:
-
您的 gemfile 中还有
gem 'jquery-rails'行吗? -
当然可以。甚至成功安装了“jquery-rails”。
-
您是否尝试将 jquery 库放在 app/assets/javascripts 文件夹中?
-
没有。我以前从来没有这样做过。据我所知,jQuery 包含在一个新的 Rails 应用程序中。无论如何,这基本上就是我在上面的 sn-p 中所做的,但我使用的是 CDN 而不是本地库。显然,对于生产,我也会使用本地库作为回退,但这只是一个测试。
-
您的 JS 文件一定有某种冲突。尝试重新排序你的树,看看是否会有所不同。
标签: jquery ruby-on-rails ruby-on-rails-3