質問編集履歴

3

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

2020/05/13 03:14

投稿

akaki
akaki

スコア15

test CHANGED
File without changes
test CHANGED
@@ -402,11 +402,63 @@
402
402
 
403
403
  ```
404
404
 
405
-
406
-
407
-
408
-
409
- usersの画像が表示できないビューは、ルートパスのビューとcafeteriasのビューファイル全てです。
405
+ ⬇︎<さらに追記> 上手く画像が反映しないveiw(_cafetelia.html.haml)ファイルです。
406
+
407
+ ```
408
+
409
+ .column.is-4
410
+
411
+ .card
412
+
413
+ .card-image
414
+
415
+ %figure.image.is-4by3
416
+
417
+ =link_to cafeteria_path(cafeteria.id), class: "content-image__box" do
418
+
419
+ %tr
420
+
421
+ %td= image_tag cafeteria.image.to_s
422
+
423
+ .card-content
424
+
425
+ .cafeteria-name
426
+
427
+ = link_to cafeteria.name, cafeteria_path(cafeteria.id), class: "content__right__top--title"
428
+
429
+ .media
430
+
431
+ .media-left
432
+
433
+ %figure.image.is-48x48
434
+
435
+ = attachment_image_tag @user, :profile_image, fallback: "images/no-image.png", class: "profile_image"
436
+
437
+ .media--userName
438
+
439
+ = link_to cafeteria.user.username, user_path(cafeteria.user), class: "content__right__bottom--userName--btn"
440
+
441
+ .detail
442
+
443
+ .detail--date
444
+
445
+ = cafeteria.created_at.strftime("%Y年%m月%d日 %H時%M分")
446
+
447
+
448
+
449
+ ```
450
+
451
+ 上記の14行目
452
+
453
+ ```
454
+
455
+ = attachment_image_tag @user, :profile_image, fallback: "images/no-image.png", class: "profile_image"
456
+
457
+ ```
458
+
459
+ こちらのコードを反映させ、cafeteriasのコントローラー内のビューにusersで登録したprofile_imageを表示させたいのですが、上手くいきません、、、(画像があるのに空だと判断され、fallback: "images/no-image.png"が呼び込まれてしまいます)
460
+
461
+ こちらを解決したいです。
410
462
 
411
463
  ### 試したこと
412
464
 

2

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

2020/05/13 03:14

投稿

akaki
akaki

スコア15

test CHANGED
File without changes
test CHANGED
@@ -232,6 +232,180 @@
232
232
 
233
233
 
234
234
 
235
+ ⬇︎views/users/show.html.haml(このビューには画像が表示される)
236
+
237
+ ```
238
+
239
+ #header.big-bg
240
+
241
+ .wrapper
242
+
243
+ = render "shared/header"
244
+
245
+ .page-title #{@user.username}さんのマイページ
246
+
247
+ %section.section
248
+
249
+ .container
250
+
251
+ .columns.is-centered
252
+
253
+ .column.is-8
254
+
255
+ .columns.is-centered
256
+
257
+ .column.is-4
258
+
259
+ %figure.image.is-128x128{style: "margin-left: auto; margin-right: auto;"}
260
+
261
+ = link_to edit_user_path do
262
+
263
+ = attachment_image_tag @user, :profile_image, fallback: "images/no-image.png", class: "profile-image"
264
+
265
+ .column.is-8
266
+
267
+ %table.table.is-fullwidth
268
+
269
+ %tr
270
+
271
+ %td.is-size-4
272
+
273
+ %strong= @user.username
274
+
275
+ - if @user.id == current_user.id
276
+
277
+ %td.is-size-4
278
+
279
+ = @user.email
280
+
281
+ %td
282
+
283
+ = link_to "編集", edit_user_path(@user), class: "button is-primary"
284
+
285
+ %table.table.is-fullwidth
286
+
287
+ %tr
288
+
289
+ %td
290
+
291
+ = @user.profile
292
+
293
+
294
+
295
+ %section.section
296
+
297
+ .cafeterias-container
298
+
299
+ .columns.is-multiline
300
+
301
+ - @cafeterias.each do |cafeteria|
302
+
303
+ = render partial: "cafeterias/cafeteria", locals: { cafeteria: cafeteria }
304
+
305
+ = render "shared/footer"
306
+
307
+ ```
308
+
309
+
310
+
311
+ ⬇︎views/cafeterias/show.html.haml(このビューには画像が表示されない)
312
+
313
+ ```
314
+
315
+ #header.big-bg
316
+
317
+ .wrapper
318
+
319
+ = render "shared/header"
320
+
321
+ .page-title #{@cafeteria.name}の詳細
322
+
323
+ %section.section
324
+
325
+ .container
326
+
327
+ .columns.is-centered
328
+
329
+ .column.is-5
330
+
331
+ .card
332
+
333
+ .card-image
334
+
335
+ %figure.image.is-4by3
336
+
337
+ %tr
338
+
339
+ %td= image_tag @cafeteria.image.to_s
340
+
341
+ .card-content
342
+
343
+ .media
344
+
345
+ .media-content
346
+
347
+ .cafeteriaTitle
348
+
349
+ = @cafeteria.name
350
+
351
+ .cafeteriaDate
352
+
353
+ = @cafeteria.created_at.strftime("%Y年%m月%d日 %H時%M分")
354
+
355
+ .content
356
+
357
+ %table.table.is-narrow
358
+
359
+ %tr
360
+
361
+ %th 感想
362
+
363
+ %tr
364
+
365
+ %td= simple_format @cafeteria.detail
366
+
367
+ - if user_signed_in? && current_user.id == @cafeteria.user_id
368
+
369
+ .videoManage
370
+
371
+ = link_to "編集画面へ", edit_cafeteria_path(@cafeteria.id), class: "button is-success cafeteriaManage__edit"
372
+
373
+ = link_to "投稿の削除", cafeteria_path(@cafeteria.id), method: :delete, class: "button is-danger cafeteriaManage__delete"
374
+
375
+ .column.is-4
376
+
377
+ %article.panel.is-link
378
+
379
+ %p.panel-heading
380
+
381
+ By #{@cafeteria.user.username}
382
+
383
+ .panel-block
384
+
385
+ %p.control
386
+
387
+ = @cafeteria.user.profile
388
+
389
+ = link_to user_path(@cafeteria.user), class: "panel-block" do
390
+
391
+ %span.panel-icon
392
+
393
+ %i.fas.fa-user{"aria-hidden" => "true"}
394
+
395
+ = @cafeteria.user.username
396
+
397
+ さんのページへ
398
+
399
+ = render "shared/footer"
400
+
401
+
402
+
403
+ ```
404
+
405
+
406
+
407
+
408
+
235
409
  usersの画像が表示できなていないビューは、ルートパスのビューとcafeteriasのビューファイル全てです。
236
410
 
237
411
  ### 試したこと

1

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

2020/05/13 02:45

投稿

akaki
akaki

スコア15

test CHANGED
@@ -1 +1 @@
1
- usersテーブルに登録したプロフィール画像が、usersの各viewファイル下でしか画面に反映ない
1
+ usersテーブルに登録したプロフィール画像が、usersの各viewファイル下でしか画面に反映されない
test CHANGED
@@ -142,6 +142,98 @@
142
142
 
143
143
  ```
144
144
 
145
+ <追記>
146
+
147
+
148
+
149
+ ⬇︎⬇︎画像が表示できていない、cafeterias_controllerのコード⬇︎⬇︎
150
+
151
+ ```
152
+
153
+ class CafeteriasController < ApplicationController
154
+
155
+ def index
156
+
157
+ @cafeterias = Cafeteria.includes(:user)
158
+
159
+ end
160
+
161
+
162
+
163
+ def new
164
+
165
+ @cafeteria = Cafeteria.new
166
+
167
+ end
168
+
169
+
170
+
171
+ def create
172
+
173
+ Cafeteria.create(cafeteria_params)
174
+
175
+ redirect_to cafeterias_path
176
+
177
+ end
178
+
179
+
180
+
181
+ def show
182
+
183
+ @cafeteria = Cafeteria.find(params[:id])
184
+
185
+ end
186
+
187
+
188
+
189
+ def edit
190
+
191
+ @cafeteria = Cafeteria.find(params[:id])
192
+
193
+ end
194
+
195
+
196
+
197
+ def update
198
+
199
+ cafeteria = Cafeteria.find(params[:id])
200
+
201
+ cafeteria.update(cafeteria_params)
202
+
203
+ redirect_to cafeteria_path(cafeteria.id)
204
+
205
+ end
206
+
207
+
208
+
209
+ def destroy
210
+
211
+ cafeteria = Cafeteria.find(params[:id])
212
+
213
+ cafeteria.destroy
214
+
215
+ redirect_to cafeterias_path
216
+
217
+ end
218
+
219
+
220
+
221
+ private
222
+
223
+ def cafeteria_params
224
+
225
+ params.require(:cafeteria).permit(:name, :image, :detail, :addres).merge(user_id: current_user.id)
226
+
227
+ end
228
+
229
+ end
230
+
231
+ ```
232
+
233
+
234
+
235
+ usersの画像が表示できなていないビューは、ルートパスのビューとcafeteriasのビューファイル全てです。
236
+
145
237
  ### 試したこと
146
238
 
147
239