はじめに
作成中のポートフォリオに機能を追加し、herokuにデプロイしたところ、We're sorry, but something went wrong.
が表示されてしまったので、原因と解決策をメモ。
初心者のため間違いなどあれば、教えていただけるとうれしいです!
実行環境
- Rails 6.0.3.4
- ruby 2.6.5
原因
- 以下をターミナルで実行
% heroku logs --tail
# 実行結果
ActionView::Template::Error (The asset "top" is not present in the asset pipeline.
→ asset
配下にtop
なんてないぞ!と怒られていました。
assets/images
を確認したところtop.jpg
は存在している…ローカルでは問題なく見れていたのに、なぜだ?と思ったところ、原因はimage_tag
の書き方にありました。
index.html.erb
# 修正前
<%= render "shared/header" %>
<div class='main'>
<div class="home-image">
<%= image_tag 'top' %> <!-- ←ここ -->
<h2 class='home-title'>
hogehuga
</h2>
</div>
<!-- 省略 -->
修正内容
- 画像の拡張子を記述する必要がありました…!
index.html.erb
# 修正後
<%= render "shared/header" %>
<div class='main'>
<div class="home-image">
<%= image_tag 'top.jpg' %> <!-- ←ここ -->
<h2 class='home-title'>
hogehuga
</h2>
</div>
<!-- 省略 -->