4

我正在使用rails 4.2.0 + amazon clodfront + Heroku。Heroku Rails應用程序資產管理

在我的config/environments/production.rb中,我將此配置設置爲true。

# Don't fallback to assets pipeline if a precompiled asset is missed 
config.assets.compile = true 

我經常問自己,這是否應該設置爲false? 由於我很困惑我是否應該手動編譯資產,然後將其推送到heroku, 或將其設置爲true?

請給我最好的做法。

+1

我認爲這已在這裏解釋http://stackoverflow.com/questions/8821864/config-assets-compile-true-in-rails-production-why-not – Emanuel

+0

@ siaw23 +1,但我使用亞馬遜如果我預先編譯資產,並將其推送到heroku並關閉自動編譯,會不會有任何後果? –

回答

1

從使用像Amazon CloudFront這樣的CDN角度來看並不多。將其設置爲false的好處是可以對文件進行哈希和緩存以加快加載速度。將資產遷移到CDN時,它將處理緩存而不是Rails。當值設置爲true時,如果用戶請求的資產較舊且可能與當前散列值不匹配,則資產沒有可用的散列值。

+0

當此配置在heroku上設置爲true時,heroku和我不預先編譯資產,heroku將它們編譯到最後,這是否有什麼區別? –

+0

如果將config.action_controller.asset_host設置爲您的CDN,則Heroku不涉及服務資產。 – eabraham

相關問題