質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.44%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

295閲覧

本番環境で画像を表示させたい

tamtamtime

総合スコア8

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2023/02/23 23:12

編集2023/02/24 06:04

実現したいこと

投稿した画像を表示させる

前提

ローカルでは画像表示されるのに、デプロイし
本番環境では登録した画像が表示されません

発生している問題・エラーメッセージ

log

1 2Feb 24 07:53:47 AM I, [2023-02-23T22:53:47.166065 #69] INFO -- : [4d049dbb-2967-4eae-84c0-6ed796b4c066] Started GET "/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9JYTJWNVNTSWhlV3d6YTJ0bVkyVnRjbkZtZUdneE1HTm5lRFJoZUhWa1lucDVNd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpQWRScGJteHBibVU3SUdacGJHVnVZVzFsUFNJeU1URXdNRE5mSlROR0pUTkdKVE5HSlROR0pUTkdKVE5HSlROR0pUTkdKVE5HSlROR0pUTkdYMEl5WDI5c0xXMXBiaTVxY0djaU95Qm1hV3hsYm1GdFpTbzlWVlJHTFRnbkp6SXhNVEF3TTE4bFJUTWxPRE1sT0RjbFJUTWxPRElsUVRRbFJUTWxPRE1sUVRZbFJUTWxPRE1sUWtNbFJUTWxPRElsUWprbFJUTWxPRE1sT1VRbFJUTWxPRElsUWprbFJUTWxPRElsUWtZbFJUTWxPRE1sUWtNbFJUUWxRa1FsT1VNbFJUWWxPRGdsT1RCZlFqSmZiMnd0YldsdUxtcHdad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlUiLCJleHAiOiIyMDIzLTAyLTIzVDIyOjU4OjQwLjg3OFoiLCJwdXIiOiJibG9iX2tleSJ9fQ==--ba98909b3d1a3112edcb4ece657a97b3e5961926/211003_%E3%83%87%E3%82%A4%E3%83%A6%E3%83%BC%E3%82%B9%E3%83%9D%E3%82%B9%E3%82%BF%E3%83%BC%E4%BD%9C%E6%88%90_B2_ol-min.jpg?content_type=image%2Fjpeg&disposition=inline%3B+filename%3D%22211003_%253F%253F%253F%253F%253F%253F%253F%253F%253F%253F%253F_B2_ol-min.jpg%22%3B+filename%2A%3DUTF-8%27%27211003_%25E3%2583%2587%25E3%2582%25A4%25E3%2583%25A6%25E3%2583%25BC%25E3%2582%25B9%25E3%2583%259D%25E3%2582%25B9%25E3%2582%25BF%25E3%2583%25BC%25E4%25BD%259C%25E6%2588%2590_B2_ol-min.jpg" for 141.101.86.170 at 2023-02-23 22:53:47 +0000 3Feb 24 07:53:47 AM I, [2023-02-23T22:53:47.166979 #69] INFO -- : [4d049dbb-2967-4eae-84c0-6ed796b4c066] Processing by ActiveStorage::DiskController#show as JPEG 4Feb 24 07:53:47 AM I, [2023-02-23T22:53:47.167065 #69] INFO -- : [4d049dbb-2967-4eae-84c0-6ed796b4c066] Parameters: {"content_type"=>"image/jpeg", "disposition"=>"inline; filename=\"211003_%3F%3F%3F%3F%3F%3F%3F%3F%3F%3F%3F_B2_ol-min.jpg\"; filename*=UTF-8''211003_%E3%83%87%E3%82%A4%E3%83%A6%E3%83%BC%E3%82%B9%E3%83%9D%E3%82%B9%E3%82%BF%E3%83%BC%E4%BD%9C%E6%88%90_B2_ol-min.jpg", "encoded_key"=>"eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9JYTJWNVNTSWhlV3d6YTJ0bVkyVnRjbkZtZUdneE1HTm5lRFJoZUhWa1lucDVNd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpQWRScGJteHBibVU3SUdacGJHVnVZVzFsUFNJeU1URXdNRE5mSlROR0pUTkdKVE5HSlROR0pUTkdKVE5HSlROR0pUTkdKVE5HSlROR0pUTkdYMEl5WDI5c0xXMXBiaTVxY0djaU95Qm1hV3hsYm1GdFpTbzlWVlJHTFRnbkp6SXhNVEF3TTE4bFJUTWxPRE1sT0RjbFJUTWxPRElsUVRRbFJUTWxPRE1sUVRZbFJUTWxPRE1sUWtNbFJUTWxPRElsUWprbFJUTWxPRE1sT1VRbFJUTWxPRElsUWprbFJUTWxPRElsUWtZbFJUTWxPRE1sUWtNbFJUUWxRa1FsT1VNbFJUWWxPRGdsT1RCZlFqSmZiMnd0YldsdUxtcHdad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlUiLCJleHAiOiIyMDIzLTAyLTIzVDIyOjU4OjQwLjg3OFoiLCJwdXIiOiJibG9iX2tleSJ9fQ==--ba98909b3d1a3112edcb4ece657a97b3e5961926", "filename"=>"211003_デイユースポスター作成_B2_ol-min"} 5Feb 24 07:53:47 AM I, [2023-02-23T22:53:47.168145 #69] INFO -- : [4d049dbb-2967-4eae-84c0-6ed796b4c066] Completed 404 Not Found in 1ms (ActiveRecord: 0.0ms | Allocations: 388) 6

該当のソースコード

ruby

1app>views>designs>_design.html.erb 2 3<div class="card"> 4 <%= link_to image_tag( design.image, class: :card__img ), design_path(design.id), method: :get %> 5 <div class="card__body"> 6 <% if design.image.attached? %> 7 <% link_to design.title, design_path(design.id), method: :get, class: :card__title %> 8 <p class="card__summary"> 9 <%= design.title %> 10 </p> 11 <% end %> 12 </div> 13</div> 14

ruby

1app>views>designs>index.html.erb 2 3<main class="main"> 4 <div class="inner"> 5 6 <%= form_with(url: search_designs_path, local:true, method: :get, class:"search-form") do |form| %> 7 <%= form.text_field :keyword, placeholder:"検索する", class:"search-input " %> 8 <%= form.submit "検索",class: "form__btn search-btn" %> 9 <% end %> 10 11 <%= form_tag designs_path, method: :get do %> 12 <%= select_tag :tag_id,options_from_collection_for_select(Tag.all, :id, :tag_name, params[:tag_id]), {prompt: 'タグで絞り込み検索',class: "tag-search",onchange: 'submit(this.form);'}%> 13 <% end %> 14 15 <div class="card__wrapper"> 16 <%= render partial: 'design', collection: @designs %> 17 </div> 18 </div> 19</main>

ruby

1app>controllers>design_controller.rb 2 3class DesignsController < ApplicationController 4 before_action :authenticate_user!, only:[:edit, :new, :destroy] 5 before_action :move_to_index, except: [:index, :show] 6 before_action :set_design, only: [:show, :edit, :update, :destroy] 7 8 def index 9 @designs = Design.includes(:user).order("created_at DESC") 10 @designs = params[:tag_id].present? ? Tag.find(params[:tag_id]).designs : Design.all.order("created_at DESC") 11 end 12 13 def new 14 @post_form = PostForm.new 15 end 16 17 def create 18 @post_form = PostForm.new(design_params) 19 20 if @post_form.save 21 redirect_to root_path 22 else 23 render :new 24 end 25 end 26 27 def show 28 29 end 30 31 def destroy 32 design = Design.find(params[:id]) 33 if design.destroy 34 redirect_to root_path 35 end 36 end 37 38 def update 39 design = Design.find(params[:id]) 40 if 41 design.update(design_params) 42 redirect_to design_path(design.id) 43 else 44 redirect_to request.referer 45 end 46 end 47 48 def edit 49 unless user_signed_in? && current_user.id == @design.user_id 50 redirect_to action: :index 51 end 52 end 53 54 def search 55 @designs = Design.search(params[:keyword]).order("created_at DESC") 56 end 57 58 59 60 private 61 62 def design_params 63 params.require(:post_form).permit(:title, :file_name, :tag_name, :image).merge(user_id: current_user.id) 64 end 65 66 def set_design 67 @design = Design.find(params[:id]) 68 end 69 70 def move_to_index 71 unless user_signed_in? 72 redirect_to action: :index 73 end 74 end 75 76end 77

試したこと

webで調べ、<% if design.image.attached? %> を追記したのですが
表示されませんでした。
デプロイ自体は問題ありませんでした。

補足情報(FW/ツールのバージョンなど)

TablePlusには画像が登録されているので、登録自体は問題ないかと思います。
一度マイグレーションをリセットしたりもしたのですが解決せず
完全に行き詰まってしまいました。
どうかご教示お願いいたします。

■追加補足■
Chromeの検証で
「Failed to load resource: the server responded with a status of 404 ()」
と出ておりました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

winterboum

2023/02/23 23:48

本番はどこにデプロイしましたか? 無料系のところは画像の保存ができないところもあります
guest

回答1

0

自己解決

画像あげ直したら表示されました。

投稿2023/02/24 06:59

tamtamtime

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.44%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問