2 flat logo on transparent 256
2018-01-10

【初心者・独学者向け】Ruby On Railsのアプリを本番環境へデプロイした時に、CSSが反映されない場合の対処法

1451

Ruby On Railsで作成したアプリケーションをawsやHerokuに始めてデプロイした時に、CSSが反映されない時があります。

初心者・独学者の場合によくハマるのがアセットパイプラインがプリコンパイルされていない事が原因になっている場合があります。 今回アセットパイプラインとプリコンパイルの方法を解説します

そもそもアセットパイプラインとは

簡単にいうと異なるパスにあるjsやcssのファイルを1つにまとめる事により、通信回数を減らしたり、コメントや改行を削除してファイルサイズを縮小する自動のフレームワークになります。 詳しい解説に興味がある方は下記サイトが分かりやすかったので 必要な方は御覧ください

詳しい解説

アセットパイプラインのプリコンパイル方法

rakeタスクでアセットプリコンパイルして、サーバーを再起動すれば表示されます。

bundle exec rake assets:precompile RAILS_ENV=production

Herokuの場合は、アセットパイプラインが自動で通る設定に変更する必要があるので、/config/environments/production.rbファイル内の下記の記述を【ture】に変更する必要があります

/config/environments/production.rb

#元々false
config.assets.compile = true

以上で解決しない場合はリバースプロキシの設定などが原因と考えてみるられます。リバースプロキシの変更方法は後ほど記載します。

前の記事
次の記事