LoginSignup
0
0

More than 3 years have passed since last update.

デプロイしたら画像と音声が読み込まれない!!

Last updated at Posted at 2020-09-09
ただデプロイするだけでは動的画面の画像は表示されないよって話

ローカル環境では表示されてる画像が本番環境では表示されない!!

結論をいうと、ローカル環境と本番環境では読み込まれるファイルが違うのでそれは当たり前なんです。

public ファイル

ではその解決策です。
今画像や音声はapp/assets/images or audiosのファイルに保存されていると思います。ローカル環境ではこのファイルから読み取り、表示をしています。

本番環境では public ファイルから読み取られるので、public/assets/images or audiosとなるように配置してあげます。

解決!

とはなりません。ビューファイルの記述も変えないと何も変わらないです。
書き換える前は
src="assets/画像 or 音声"
image_tag("画像")
という記述だと思います。

例えば、ただsrc="public/assets/画像 or 音声"としても本番環境ではうまく行ってもローカル環境でうまくいかない可能性があります。
そんな時に便利なのが asset_path です。

asset_path

assetパイプラインから勝手に探して読み込んでくれます。
src=<%= asset_path "画像 or 音声"%>
image_tag(asset_path("画像")
こう記述することでローカル環境でも本番環境でも表示してくれます!

もし他の記述(form_with)で書いている方

<%= f.submit %>
送信ボタンを画像で作っている方は
<%= form_with 省略, id: "search_form") do |form| %>
 <input type="image" name="submit"
 src=<%= asset_path "画像"%> form="search_form">

という記述に書き換えてみてください。

0
0
0

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
0
0