1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

herokuにデプロイした際にassetsに配置した画像が表示されない。

Posted at

環境

Ruby 2.6.5
Rails 6.0.3.5
heroku

エラー確認

ActionView::Template::Error (The asset "default_icon" is not present in the asset pipeline.
//中略
<%= image_tag 'default_icon', id: 'preview-icon' %>

herokuへのデプロイ後、アプリにアクセスし新規登録を行おうとした時に、上記のエラーが発生した。
image_tagでassets/imagesに配置している画像を指定しているのだが
"default_icon"というアセットは存在しませんよと言われている。
開発環境では問題なく動作していたため本番環境由来のエラーだと判断し探索開始

参考記事
https://qiita.com/___xxx_/items/fa15f358beba2b9389da
#####公式ドキュメント
https://railsguides.jp/asset_pipeline.html#%E5%8F%A4%E3%81%84%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AErails%E3%81%8B%E3%82%89%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B

解決法

config/environments/production.rbファイルの書き換え

 # Do not fallback to assets pipeline if a precompiled asset is missed.
  config.assets.compile = false # <= trueに変換

本番環境ではフォールバックが無効化されているため画像のあるファイルを参照してくれていなかった様です。
RailsにおけるJSやCSSの取り回しの理解がまだまだ浅いので、この辺りもバックエンドの後に詰めたいですね。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?