【发布时间】:2016-05-15 15:09:14
【问题描述】:
我已经尝试了 stackoverflow 中的所有解决方案,但我仍然无法在 rails 上加载 jquery。它适用于 localhost 但不适用于 heroku。
所以,这是我的application.js 文件
//= require jquery
//= require bootstrap
//= require jquery_ujs
//= require_tree .
这里是application.css 文件
*= require_tree .
*/
这是我的 gem 文件;
source 'https://rubygems.org'
gem 'rails', '4.2.0'
gem 'json', '~> 1.8.2'
gem 'bcrypt', '3.1.7'
gem 'bootstrap-sass', '3.2.0.0'
gem 'sass-rails', '5.0.1'
gem 'uglifier', '2.5.3'
gem 'coffee-rails', '4.1.0'
gem 'jquery-rails', '4.0.3'
#//= require turbolinks TO ASSETS gem 'turbolinks', '2.3.0'
gem 'jbuilder', '2.2.3'
gem 'sdoc', '0.4.0', group: :doc
gem "mailboxer"
gem "select2-rails"
group :development, :test do
gem 'sqlite3', '1.3.9'
gem 'byebug', '3.4.0'
gem 'web-console', '2.0.0.beta3'
gem 'spring', '1.1.3'
end
group :test do
gem 'minitest-reporters', '1.0.5'
gem 'mini_backtrace', '0.1.3'
gem 'guard-minitest', '2.3.1'
end
group :production do
gem 'pg', '0.17.1'
gem 'rails_12factor', '0.0.2'
end
这是我的application.html.erb
<!DOCTYPE html>
<html>
<head>
<title>...</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<%= javascript_include_tag 'application', 'data-turbolinks-track' => false %>
<%= stylesheet_link_tag 'application', media: 'all',
'data-turbolinks-track' => false %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>
有趣的是,控制台没有给出关于 jquery 的错误,但我的滑块不起作用。而且一些css更改并没有反映到heroku(我做了预编译)
【问题讨论】:
-
在生产模式下本地尝试:你可能会遇到同样的问题,调试起来会容易得多。此外,在您使用的任何浏览器中使用开发工具:它们会为您指出丢失的文件,您可以从那里返回以尝试找出文件不存在的原因。
-
这里是错误:
Uncaught ReferenceError: jQuery is not defined.为什么它不加载 jquery?。它列在 application.js 文件的首位 -
使用 rails 4,您不需要预编译资产 - 您只需弹出
rails_12factorgem,它应该设置您的应用程序在您推送和提供静态资产时编译 heroku 上的资产。 devcenter.heroku.com/articles/rails-4-asset-pipeline -
您可能希望从您的 git 存储库中清除预编译的资产并重新部署。
标签: javascript jquery ruby-on-rails ruby heroku