3

我正在使用heroku在rails上部署我的應用程序在ruby中,但遇到問題,當我部署我的應用程序時,在編譯我之前,heroku不會更新所做的修改資產。我解決我的問題在本地主機使用簡單rake assets:clean但在Heroku上這並沒有解決什麼我做備份更新,當我修改我的資產Heroku不更新資產修改

config.assets.initialize_on_precompile = false 

config.assets.initialize_on_precompile = true 

改變這一點,但它不工作

回答

6

有一個幾件事情要做。首先是重新部署

$ rake assets:clean 
$ rake assets:precompile 
$ git add . 
... deploy to heroku 

如果仍然不工作,它可能是一個緩存的問題,在這種情況下,您可以手動撞擊版本config/application.rb,並重新部署到期以前所有的資產

防爆:

config.assets.version = '1.2' # change to '1.3' 
+0

不工作我如何繼續討論這個問題。 – overallduka 2013-02-23 13:49:08

1

首先。當您部署不帶資產的應用程序時,Heroku會爲您預編譯資產,因爲它不會找到清單.yml文件。資產中的

使這項工作。

從本地和heroku的公用文件夾中刪除所有資產文件。

在production.rb

請確保您有這些代碼。

config.serve_static_assets = false 
    config.assets.compress = true 
    config.assets.digest = true 
    config.assets.compile = false 

如果您希望Rails應用程序在找到任何資產時爲您找到資產,請設置assets.compile = true。在預編譯。理想情況下,該選項應該是錯誤的。

config.assets.compile = true 

將這些乾淨的更改推送到heroku。

+0

我做這個,但資產連續不修改在heroku中,我使用命令之前編譯我的資產在heroku和我的本地主機,在本地主機我問題'資產:乾淨',但英雄不修改資產。 – overallduka 2013-02-23 13:43:40

+0

嘗試'heroku運行耙資產:乾淨'它會清理heroku上的資產。然後在不使用'public/asets'的情況下推送更改 – 2013-02-25 07:27:17

0

昨晚我有這個相同的問題,我發現在推送到heroku後,它從git斷開。一旦我再次通過GIT過程,然後將它推到heroku的所有更新。不知道爲什麼它斷開,但這一直是我的工作一整天。花費2-3小時試圖解決根本問題,但解決方法更快。