rails6.1.0
herokuにデプロイしたところ、アクセスできず。
herokuログを確認しました。
heroku log
log
1 ActionView::Template::Error (The asset "4942320_s.jpg" is not present in the asset pipeline.
ビューでは上から2行目になります。
html
1 <% if w.images.present? %> 2 <!-- ここでエラー↓ --> 3 <%= image_tag w.images[0].src.to_s, class: "card__img", alt: w.title %> 4 <% else %> 5 <%= image_pack_tag "no-item.png", class: "card__no-img", alt: w.title %> 6 <% end %>
プリコンパイルが失敗して画像が辿れないようですが、元々w.imagesはプリコンパイル対象ではありません。
サイトロゴなんかはプリコンパイル対象に含めてますが、このw.imagesは商品画像になるためpublic配下に置いてます。
調べたところ、
config配下の「production.rb」を以下のようにすると良いとありましたが、元々なってました。
config\environments\production.rb
ruby
1config.assets.compile = true
ちなみにassets.rbは以下のようになってます。
特に変更したことはありません。
config\initializers\assets.rb
ruby
1Rails.application.config.assets.version = '1.0' 2Rails.application.config.assets.paths << Rails.root.join('node_modules')
調べてますが、production.rbのconfig.assets.compile = true
の情報ばかりで解決できずにいます。
分かる方居ましたら教えて下さい。
宜しくお願い致します。
【追記】
・carriewaveを削除
関係あるか分かりませんが、デプロイする前はcarriewaveを使用してました。
使わないように変更してデプロイしました。
・to_sを消してみた
変わりませんでした。
・画像ファイルの確認
public配下にファイル自体は間違いなく存在してました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。