サイトアイコン Amelt.net

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

Amelt

Amelt

This post is also available in: English-US (英語)

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の内容が適用されます。