先日も同じような内容で質問させていただきましたが、未だ解決できずにいるため、再度質問いたします。
解決したいこと
herokuにデプロイ後、seedファイルを反映させても、画像が表示されない。(ローカル環境では正しく表示されています)
現状は以下のとおりです。
seedファイルのデータに画像をアタッチさせる。
エラー文
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
画像を確認してみてもNothing to previewとなってしまっている
画像はpublic/images
の中に入っている
ローカルでは画像は表示されている。
ログを確認したところstatus=500
との記載のみで解決策を見出せない
該当のソースコード
seed
1require "csv" 2 3CSV.foreach('db/store.csv', headers: true) do |row| 4 laundry = Laundry.new( 5 name: row['name'] , 6 address: row['address'], 7 opening_date: row['opening_date'], 8 open_time: row['open_time'], 9 close_time: row['close_time'], 10 shoe_washing: row['shoe_washing'], 11 futon_washing: row['futon_washing'], 12 dryer: row['dryer'], 13 washing_machine: row['washing_machine'] 14 ) 15 laundry.image.attach(io: File.open('public/images/image.jpg'), filename: 'image.jpg') 16 laundry.save 17end
以下show.html.erb、該当部分の記述です
html
1 <%= image_tag @laundry.image.variant(resize: '300x300'), class: 'store-image' %> 2
試したこと
1.先日投稿した内容でいただいたご指摘をもとに
<%= image_tag @laundry.image.url, class: 'store-image' %>
としてみましたがエラーが表示される。
2.以前は画像をapp/assets/images
内に配置していましたが、public/images
に変更、それに伴いseedファイルのパスも変更しましたが、画像は表示されないままでした。(herokuでdbのリセットも行いましたが変化なし)
エラー内容から画像のパスが正しくないのではないかと考えているのですがどのように修正をすれば良いのかがわからない状態です。
なにか見当がつく方がいましたらアドバイスをお願いいたします。
###補足情報(FW/ツールのバージョンなど)
ruby '2.6.5'
rails '6.0.3'
DBはローカルも本番環境もmysqlを使用。
回答1件
あなたの回答
tips
プレビュー