質問するログイン新規登録

質問編集履歴

3

問題のviewファイルのコードを追記しました

2020/05/13 03:14

投稿

akaki
akaki

スコア15

title CHANGED
File without changes
body CHANGED
@@ -200,9 +200,35 @@
200
200
  = render "shared/footer"
201
201
 
202
202
  ```
203
+ ⬇︎<さらに追記> 上手く画像が反映しないveiw(_cafetelia.html.haml)ファイルです。
204
+ ```
205
+ .column.is-4
206
+ .card
207
+ .card-image
208
+ %figure.image.is-4by3
209
+ =link_to cafeteria_path(cafeteria.id), class: "content-image__box" do
210
+ %tr
211
+ %td= image_tag cafeteria.image.to_s
212
+ .card-content
213
+ .cafeteria-name
214
+ = link_to cafeteria.name, cafeteria_path(cafeteria.id), class: "content__right__top--title"
215
+ .media
216
+ .media-left
217
+ %figure.image.is-48x48
218
+ = attachment_image_tag @user, :profile_image, fallback: "images/no-image.png", class: "profile_image"
219
+ .media--userName
220
+ = link_to cafeteria.user.username, user_path(cafeteria.user), class: "content__right__bottom--userName--btn"
221
+ .detail
222
+ .detail--date
223
+ = cafeteria.created_at.strftime("%Y年%m月%d日 %H時%M分")
203
224
 
204
-
225
+ ```
226
+ 上記の14行目
227
+ ```
205
- usersの画像が表示できなていないビューは、ルートパスのビューとcafeteriasのビューファイル全てです。
228
+ = attachment_image_tag @user, :profile_image, fallback: "images/no-image.png", class: "profile_image"
229
+ ```
230
+ こちらのコードを反映させ、cafeteriasのコントローラー内のビューにusersで登録したprofile_imageを表示させたいのですが、上手くいきません、、、(画像があるのに空だと判断され、fallback: "images/no-image.png"が呼び込まれてしまいます)
231
+ こちらを解決したいです。
206
232
  ### 試したこと
207
233
 
208
234
  ややこしいですが、cafeteriaの画像投稿にはcarrierwaveを、usersの画像投稿にはrefileを使用しています。

2

画像が表示されるビューファイルと、表示されないビューファイルの例を追記しました。

2020/05/13 03:14

投稿

akaki
akaki

スコア15

title CHANGED
File without changes
body CHANGED
@@ -115,6 +115,93 @@
115
115
  end
116
116
  ```
117
117
 
118
+ ⬇︎views/users/show.html.haml(このビューには画像が表示される)
119
+ ```
120
+ #header.big-bg
121
+ .wrapper
122
+ = render "shared/header"
123
+ .page-title #{@user.username}さんのマイページ
124
+ %section.section
125
+ .container
126
+ .columns.is-centered
127
+ .column.is-8
128
+ .columns.is-centered
129
+ .column.is-4
130
+ %figure.image.is-128x128{style: "margin-left: auto; margin-right: auto;"}
131
+ = link_to edit_user_path do
132
+ = attachment_image_tag @user, :profile_image, fallback: "images/no-image.png", class: "profile-image"
133
+ .column.is-8
134
+ %table.table.is-fullwidth
135
+ %tr
136
+ %td.is-size-4
137
+ %strong= @user.username
138
+ - if @user.id == current_user.id
139
+ %td.is-size-4
140
+ = @user.email
141
+ %td
142
+ = link_to "編集", edit_user_path(@user), class: "button is-primary"
143
+ %table.table.is-fullwidth
144
+ %tr
145
+ %td
146
+ = @user.profile
147
+
148
+ %section.section
149
+ .cafeterias-container
150
+ .columns.is-multiline
151
+ - @cafeterias.each do |cafeteria|
152
+ = render partial: "cafeterias/cafeteria", locals: { cafeteria: cafeteria }
153
+ = render "shared/footer"
154
+ ```
155
+
156
+ ⬇︎views/cafeterias/show.html.haml(このビューには画像が表示されない)
157
+ ```
158
+ #header.big-bg
159
+ .wrapper
160
+ = render "shared/header"
161
+ .page-title #{@cafeteria.name}の詳細
162
+ %section.section
163
+ .container
164
+ .columns.is-centered
165
+ .column.is-5
166
+ .card
167
+ .card-image
168
+ %figure.image.is-4by3
169
+ %tr
170
+ %td= image_tag @cafeteria.image.to_s
171
+ .card-content
172
+ .media
173
+ .media-content
174
+ .cafeteriaTitle
175
+ = @cafeteria.name
176
+ .cafeteriaDate
177
+ = @cafeteria.created_at.strftime("%Y年%m月%d日 %H時%M分")
178
+ .content
179
+ %table.table.is-narrow
180
+ %tr
181
+ %th 感想
182
+ %tr
183
+ %td= simple_format @cafeteria.detail
184
+ - if user_signed_in? && current_user.id == @cafeteria.user_id
185
+ .videoManage
186
+ = link_to "編集画面へ", edit_cafeteria_path(@cafeteria.id), class: "button is-success cafeteriaManage__edit"
187
+ = link_to "投稿の削除", cafeteria_path(@cafeteria.id), method: :delete, class: "button is-danger cafeteriaManage__delete"
188
+ .column.is-4
189
+ %article.panel.is-link
190
+ %p.panel-heading
191
+ By #{@cafeteria.user.username}
192
+ .panel-block
193
+ %p.control
194
+ = @cafeteria.user.profile
195
+ = link_to user_path(@cafeteria.user), class: "panel-block" do
196
+ %span.panel-icon
197
+ %i.fas.fa-user{"aria-hidden" => "true"}
198
+ = @cafeteria.user.username
199
+ さんのページへ
200
+ = render "shared/footer"
201
+
202
+ ```
203
+
204
+
118
205
  usersの画像が表示できなていないビューは、ルートパスのビューとcafeteriasのビューファイル全てです。
119
206
  ### 試したこと
120
207
 

1

画像が表示されていないコントローラーのソースコードを追記しました。表示されないviewsファイルはusersのviewsファイル以外の全てです。

2020/05/13 02:45

投稿

akaki
akaki

スコア15

title CHANGED
@@ -1,1 +1,1 @@
1
- usersテーブルに登録したプロフィール画像が、usersの各viewファイル下でしか画面に反映ない
1
+ usersテーブルに登録したプロフィール画像が、usersの各viewファイル下でしか画面に反映されない
body CHANGED
@@ -70,6 +70,52 @@
70
70
  attachment :profile_image
71
71
  end
72
72
  ```
73
+ <追記>
74
+
75
+ ⬇︎⬇︎画像が表示できていない、cafeterias_controllerのコード⬇︎⬇︎
76
+ ```
77
+ class CafeteriasController < ApplicationController
78
+ def index
79
+ @cafeterias = Cafeteria.includes(:user)
80
+ end
81
+
82
+ def new
83
+ @cafeteria = Cafeteria.new
84
+ end
85
+
86
+ def create
87
+ Cafeteria.create(cafeteria_params)
88
+ redirect_to cafeterias_path
89
+ end
90
+
91
+ def show
92
+ @cafeteria = Cafeteria.find(params[:id])
93
+ end
94
+
95
+ def edit
96
+ @cafeteria = Cafeteria.find(params[:id])
97
+ end
98
+
99
+ def update
100
+ cafeteria = Cafeteria.find(params[:id])
101
+ cafeteria.update(cafeteria_params)
102
+ redirect_to cafeteria_path(cafeteria.id)
103
+ end
104
+
105
+ def destroy
106
+ cafeteria = Cafeteria.find(params[:id])
107
+ cafeteria.destroy
108
+ redirect_to cafeterias_path
109
+ end
110
+
111
+ private
112
+ def cafeteria_params
113
+ params.require(:cafeteria).permit(:name, :image, :detail, :addres).merge(user_id: current_user.id)
114
+ end
115
+ end
116
+ ```
117
+
118
+ usersの画像が表示できなていないビューは、ルートパスのビューとcafeteriasのビューファイル全てです。
73
119
  ### 試したこと
74
120
 
75
121
  ややこしいですが、cafeteriaの画像投稿にはcarrierwaveを、usersの画像投稿にはrefileを使用しています。