Rails:herokuでjQuaryとかCSSが動かない場合の対処法

Published on:
Last updated:

This post is also available in: 日本語 (Japanese)

jQuaryとかCSSがローカルでは動くが、Herokuにアップロードしたものが動かない場合の可能性の一つとして対処法をメモしています。
RailsでjQuaryとかCSSが動かないとかいうケースでは、アセットパイプラインとかプリコンパイルとかが原因なものがほとんどではないかと思います。

アセットパイプラインのpathを調べる

jQuaryとかCSSがRailsのアセットパイプラインのpathに含まれているか調べます。
この時点で含まれていないと、そもそもRailsのアセットパイプラインの対象となっていない事が分かります。

rails c
> Rails.application.config.assets.paths

Railsのアセットをプリコンパイルする

Railsのアセットをプリコンパイルしてからheroku pushします。
ローカルで以下のコマンドを実行します。
RAILS_ENV=productionの部分は適宜、設定した状況に合わせて変更してください。

bundle exec rake assets:precompile RAILS_ENV=production

production.rbの内容を見直してみる

たまに忘れてしまいます。
ローカルではdevelopment.rbを使っていると思いますが、herokuではデフォルトでproduction.rbの内容が適用されます。

About
Kuniyoshi Takemoto is the founder of Amelt.net LLC, and editor of this blog(www.amelt.net).Learn more and follow me on LinkedIn.