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

相关问题