前提・実現したいこと
画像投稿アプリを作成中です。投稿後、一覧表示画面に投稿を表示させたいのですが表示されません。DBには情報が登録できていて、エラー文は表示されません。何度も見直したのですがどうしたら表示できますか?
該当のソースコード
app/models/prototype.rb
ruby
1class Prototype < ApplicationRecord 2 validates :title, presence: true 3 validates :catch_copy, presence: true 4 validates :concept, presence: true 5 validates :image, presence: true 6 7 belongs_to :user 8 has_one_attached :image 9end
app/controllers/prototype_controller.rb
ruby
1class PrototypesController < ApplicationController 2 3 def index 4 @prototype = Prototype.includes(:user).order("created_at DESC") 5 end 6 7 def new 8 @prototype = Prototype.new 9 end 10 11 def create 12 @prototype = Prototype.new(prototype_params) 13 if @prototype.save 14 redirect_to root_path(@prototype) 15 else 16 render :new 17 end 18 end 19 20 21 private 22 def prototype_params 23 params.require(:prototype).permit(:title, :catch_copy, :concept, :image).merge(user_id: current_user.id) 24 end 25 26end
app/views/prototyoes/index.html.erb
ruby
1<main class="main"> 2 <div class="inner"> 3 <% if user_signed_in? %> 4 <div class="greeting"> 5 こんにちは、<%= link_to current_user.name, root_path, class: :greeting__link %>さん 6 </div> 7 <% end %> 8 <div class="card__wrapper"> 9 <%= render partial: 'prototype', collection: @prototypes %> 10 </div> 11 </div> 12</main>
app/views/prototypes/_prototype.html.erb
ruby
1<div class="card"> 2 <%= image_tag prototype.image, if prototype.image.attached?, class: :card__img, root_path %> 3 <div class="card__body"> 4 <%= prototype.title, root_path, class: :card__title%> 5 <p class="card__summary"> 6 <%= prototype.catch_copy %> 7 </p> 8 <%= "by #{prototype.user.name}", root_path, class: :card__user %> 9 </div> 10</div>
試したこと
エラーが出ていないのでビューの問題かと思いrenderを見直した。
_prototype.html.erbを見直したが間違いが分かりません。
補足情報(FW/ツールのバー[リンク内容]
回答1件
あなたの回答
tips
プレビュー