2013-11-27 66 views
1

這讓我瘋狂!我的應用在本地服務器上正常工作,但是當我上傳到heroku時,css和js文件沒有更新。我閱讀使用rake資源進行預編譯:預編譯修復問題,但之後我再次上傳到heroku,現在我的所有資源都沒有加載!我已經嘗試了所有的預編譯變體,安裝了12factor gem,將一些配置設置從false變爲true,但仍然沒有發生!當我看到控制檯,它說'rake assets:precompile'之後Rails 4資產沒有加載到heroku中

[錯誤]的ReferenceError:找不到變量:jQuery的 全局代碼(應用38ccb09605964287831a37a0d9faf188.js,1號線)

,但我有jQuery的!它在當地正常工作!我不知道我在做錯什麼。

的Gemfile

gem 'bootstrap-sass-rails' 
gem 'rails_12factor', group: :production 

gem 'rails', '4.0.0' 

gem 'sqlite3', :group => [:development, :test] 
group :production do 
    gem 'thin' 
    gem 'pg' 
end 

gem 'sass-rails', '~> 4.0.0' 

gem 'uglifier', '>= 1.3.0' 

gem 'coffee-rails', '~> 4.0.0' 

gem 'jquery-rails' 

gem 'jbuilder', '~> 1.2' 

group :doc do 
    # bundle exec rake doc:rails generates the API under doc/api. 
    gem 'sdoc', require: false 
end 

production.rb

config.cache_classes = true 
config.eager_load = true 
config.consider_all_requests_local = false 
config.action_controller.perform_caching = true 
config.serve_static_assets = true 
config.assets.js_compressor = :uglifier 
config.assets.compile = true 
config.assets.digest = true 
config.assets.version = '1.0' 
config.log_level = :info 
config.i18n.fallbacks = true 
config.active_support.deprecation = :notify 
config.log_formatter = ::Logger::Formatter.new 
+0

,可以在運行'Heroku的logs'並顯示其內容? – Thanh

+0

它的種類很長,所以我把它放在谷歌文檔裏面。 https://docs.google.com/document/d/13ymjsdT2fvamFmGvKvsir582u4dcNL27-1qxWZpoV6g/編輯 – user2968401

+0

好的..我今天早上登錄了,現在我的本地應用程序現在不工作了..要麼已經被緩存了什麼。 – user2968401

回答

3

運行$RAILS_ENV=production bundle exec rake assets:precompile現在我的Heroku應用程序的工作。所以我想的問題是固定的..

對不起,我沒有,爲什麼它的工作原理

+0

謝謝!這是一個非常令人沮喪的問題,這解決了它!誰會想到只是在本地預編譯資產並推送到Heroku就行。 – Magne

0

的解釋只需運行

$ bundle exec rake assets:precompile 
    $ git add . 
    $ git commit -am "assets precompiled locally" 
    $ git push heroku master 
+0

第一次運行命令之前首先運行「rake assets:clean」 – Chris

相關問題