Edited at

Railsはassetsに注意しろ

More than 5 years have passed since last update.

productionで運用するときに注意すべきこと。


application.cssとapplication.jsの動作

アプリケーションで利用するcssとjsをassets:precompileで一つのファイルにまとめてます。その上でlayout/application.html.hamlでincludeして、アプリケーションで利用します。


cssとjsの設計に注意

デザイナーさんが画面ごとにCSSやJSを別ファイルにして、名前空間が被ってしまうとapplication.cssやapplication.jsにまとめることができません。そうすると、compileの対象ファイルとならずにproductionだと404になってしまいます。


config.assets.precompileに記述

compileの対象とするために、config.assets.precompileに記述をします。


assetsの設定はこうしろ


  • config.serve_static_assets = false

これ超重要。nginxで見つからないとunicornにいちいち問い合わせがいくのでサーバーの負荷が劇的にあがってしまう。


  • config.assets.compress = true

下りgzにするため必須


  • config.assets.compile = false

trueにするとサーバーで動的にcompileするためにfalseにしないとだめ


  • config.assets.digest = false

digest付与はお好きに。私は好きじゃないのでオフにしています。


  • config.assets.debug = false

debug=trueにすると、application.css/jsと個別のファイルの二重読み込みがされます。


Railsの本が出ます!

RailsとiPhoneではじめるアプリケーション開発

画像