我已經嘗試了所有在stackoverflow中的解決方案,但我仍然有jquery加載rails的問題。它在localhost上工作,但不在heroku上。在任何情況下,Rails jquery無法加載
所以,這裏是我的application.js
文件
//= require jquery
//= require bootstrap
//= require jquery_ujs
//= require_tree .
這裏application.css
文件
*= require_tree .
*/
這裏是我的寶石文件;
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(我做了預編譯)
在生產模式下在本地嘗試:您可能會遇到同樣的問題,調試起來會更容易。另外,在你正在使用的瀏覽器中使用devtools:他們會指引你找到丟失的文件,然後你可以從那裏恢復工作,試圖找出文件不存在的原因。 –
這裏是錯誤:'未捕獲的ReferenceError:jQuery沒有定義.'爲什麼它不加載jquery ?.它被列在application.js文件中的第一位 –
使用rails 4不需要預編譯資產 - 只需彈出'rails_12factor' gem,它應該設置您的應用程序,以便在推送時在heroku上編譯資產並提供靜態資產。 https://devcenter.heroku.com/articles/rails-4-asset-pipeline – max