Railsアプリケーションが本番環境にてcssが効かずに困っています。
テスト環境では正常にcssやimage,javascriptが随時コンパイルされて反映されますが本番環境ではcssだけが反映されません。
(assets:precompileは完了していて正しく読み込まれていますが、全く効かない状況です。)
試したことは、
* キャッシュを削除し念のためシークレット・ウィンドウからも試した
* precompile実行後、app/public/assets配下に正常にファイルが生成されることを確認した
* app/public/assets配下を一旦creanした(なぜかコマンドからcleanが効かなかったので手動でrmした)
* Unicorn, Nginxを再起動した(エラーログは出ていない)
* テスト環境で反映されるか確認した(app/assets配下が呼ばれています)
* app/public/assets配下のパーミッションエラーを疑いurlから直接pathを指定して見れるか確認した
* Chromeの要素を検証から余計なstylesheetが読み込まれていないか確認した
* http://qiita.com/metheglin/items/c5c756246b7afbd34ae2 に指摘されていることはすべて確認した
なお、環境は以下のとおりです。
どうかよろしくお願いいたします。
* Rails 4.2.0
* Ruby 2.2.0
* rbenv 0.4.0
* Unicorn 4.8.3
* Nginx 1.6.2
* MySQL 5.5.40
* EC2 Amazon Linux AMI 2014.09.1 (HVM)(プロダクションマシン)
* Git(リポジトリマシン)
みんなの回答 3 件
production.rbのconfig.serve_static_filesがfalseになっていて、かつnginxがassetsファイルを供給していないのかもしれません。
読み込まれてて効かないのであれば、Rails じゃなくてブラウザの問題では? というかそんな事あるかな…。読み込んでるCSSのURLをブラウザに直打ちして表示されるかどうか試した? @import してるならそれらも全部試すこと。
あー、同じようなことあった。
何だけっけな…2つ要因があったんだけど…
一つはIEのセレクタ数の限界を超えてたんだけどそっちではなさそうですよね。
もう一つが思い出せない。
でもすごい単純な感じだったんだよな、@importの位置変えたとか。
でもデザイナーレベルで解決できる単純な話だったはず。
関連するトピックス