我的Rails 4應用程序中的CSS和JavaScript無法在生產中加載,但在分段中成功。 config/environments/staging.rb
和config/environments/production.rb
之間唯一的區別是這一行:Rails 4:將config.assets.compile設置爲false取消激活整個Sprockets
config.assets.compile = true
上升級,並在生產
config.assets.compile = false
。
在部署和生產中,我都在部署期間執行rake assets:precompile
。是的,加入了指紋的資產是高高興興地位於public/assets
這是很有誘惑力,只是舉起手,哭了「見鬼,我還有其他事情代碼」,並just set config.assets.compile = true on production,但據我所知這使得現場編輯,它動態編譯Sass和CoffeeScripts,而且我們不希望在我們的實時網站上獲得這種性能稅。
但是,在生產中設置config.assets.compile = false
不會生成正確指紋的URL以正確指向預編譯的資產。
在升級中,我的application.css高興地指向https://staging.example.com/assets/application-8b1ca5ff4a98a7b28b0e932fe7412421.css
。這是好的,好的,幸福的和美好的。
在生產中,它令人沮喪的https://www.example.com/stylesheets/application.css
點我怎麼那麼我仍然在生產中使用的資產管道(鏈輪)沒有現場編輯?任何能在頭髮枯竭之前幫助我的人都會受到真正的讚賞。