2012-05-01 83 views
0

我正在將3.0 Rails應用程序升級到3.1.4,包括資產管道。資產管道需要公共/資產文件嗎?

我在Heroku上,所以我我有這個在我的application.rb中

config.assets.initialize_on_precompile = false 

我注意到,當我運行:

bundle exec rake assets:precompile 

它在公共創建文件/資產目錄(即使我的資產已經在應用/資產中)。

例如,它創建像application-72b2779565ba79101724d7356ce7d2ee這樣的文件,以及複製應用程序/資產中的圖像。

我的問題是: (1)應該將這些文件上傳到我的生產服務器? (2)如果我想上傳這些,我想更新每個應用程序 - xxxxxxxx或只有最新的?

回答

0

第一個問題:Heroku不允許你修改文件系統。因此,您的斷言是正確的 - 您需要在將資產管道發送到Heroku之前預編譯資產管道,以便它可以在您的生產環境中使用。

而後者:你會想確保你有最新的編譯。任何其他人不會被使用。 「xxxxxxx」部分是爲了確保您的用戶擁有最新和最好的資產版本。這是一種對瀏覽器得到的版本進行版本控制的方法,並且確保它們不會緩存JavaScript的錯誤副本,而只需要設置緩存以保存JS和CSS文件,而不是不斷從您的Web服務器獲取它。

拿我的Heroku評論一點點鹽,因爲我以前沒有部署到Heroku。我只知道他們的系統在某種程度上是如何工作的。