今作っている Rails アプリを試しに production 環境で動かしてみたところ、css などのアセットが読み込まれない、という事態に遭遇した。ちゃんと rake assets:precompile してあるにも関わらず、だ。
いろいろとググっくてみると、次のページで答えを見つけた。
cf. Rails3 css、js 404 Not Found! 静的ファイルが読み込まれない! – bismar’s blog
config/environments/production.rb の次の行が原因らしい。
# Disable Rails's static asset server (Apache or nginx will already do this). config.serve_static_assets = false
config.serve_static_assets の値が false になっている。コメントにもあるけど要するに、production 環境では Apache や Nginx が静的ファイルを配信するだろうから Rails 自身は配信しない、ということらしい。
ともあれ、これを true に変更することで無事 css が読み込まれるようになった。