HerokuがRailsのアセットパイプラインを読み取ってくれない問題
修正作業へ
とりあえずログを見ろと言われてるので、heroku logsで確認
2018-07-14T17:21:49.698143+00:00 app[web.1]: F, [2018-07-14T17:21:49.698072 #4] FATAL -- : [7859d62e-523d-48d0-97fa-4ea4ce8bac18]
2018-07-14T17:21:49.698250+00:00 app[web.1]: F, [2018-07-14T17:21:49.698175 #4] FATAL -- : [7859d62e-523d-48d0-97fa-4ea4ce8bac18] ActionView::Template::Error (The asset "rails.png" is not present in the asset pipeline.):
2018-07-14T17:21:49.698483+00:00 app[web.1]: F, [2018-07-14T17:21:49.698416 #4] FATAL -- : [7859d62e-523d-48d0-97fa-4ea4ce8bac18] 10: <%= link_to "Sign up now!", signup_path, class: "btn btn-lg btn-primary" %>
一部抜粋
よく見てみると、not present in the asset pipelineとか言われてますね。
この時は、なんとなく画像が認識されていないんだろうなーくらいに捉えてました。
画像を利用していないページにアクセスすると、表示はされるものの、
スタイルシートが反映されていない事に気づき、ここでようやくアセットパイプラインが認識されていないと判断。
対策法を調べてみると、デプロイする直前に
rake assets:precompile RAILS_ENV=production
↑これをコンソール上で実行することで、アセットパイプラインが利用可能になるとか。
後は、config/environments/production.rb内の
config.assets.compileをfalseからtrueに変更、これでアセットパイプラインを利用するようになる
この後デプロイ、アクセスすると正常に色々読み込んでくれるようになりました。
これ、初めてこういったフレームワークを使う人なら絶対悩まされると思うんですけど、
Rails Tutorialでは特に触れられていないんですよね…
途中でなにか設定を間違えたのでしょうか?
とりあえず以上です。