ただデプロイするだけでは動的画面の画像は表示されないよって話
ローカル環境では表示されてる画像が本番環境では表示されない!!
結論をいうと、ローカル環境と本番環境では読み込まれるファイルが違うのでそれは当たり前なんです。
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">
という記述に書き換えてみてください。