[質問]image_tagで画像が表示されません
解決したいこと
railsで画像投稿アプリを作成しているのですが、投稿された内容(画像・タイトル・投稿者・キャッチコピー)をindex.html.erbに表示しようとしていますが、top画面だけ表示され、内容は表示されません。
調べたり、原因を探ってみたのですが、進展がみられなかったため、質問させていただきました。ご教授いただけたら幸いです。
発生している問題・エラー
エラーメッセージは出ていません。
ターミナルの画像で
https://gyazo.com/9307132d76f8fed1b60ea22f2316436f
下の方に
Rendered collection of prototypes/_prototype.html.erb [8 times]
とあり、データベースのデータも8個なので表示するところでつまづいているのだと思うのです。
該当するソースコード
prototypes_controller.rb
class PrototypesController < ApplicationController
protect_from_forgery with: :null_session
def index
@prototypes = Prototype.includes(:user).order("created_at DESC")
end
def new
@prototype = Prototype.new
end
def create
@prototype = Prototype.new(prototype_params)
if @prototype.save
redirect_to root_path
else
render :new
end
end
private
def prototype_params
params.require(:prototype).permit(:title, :catch_copy, :concept, :image).merge(user_id: current_user.id)
end
end
index.html.erb
<main class="main">
<div class="inner">
<% if user_signed_in? %>
<div class="greeting">
<%= "こんにちは、" %>
<%= link_to current_user.name, root_path, class: :greeting__link%>
</div>
<% end %>
<div class="card__wrapper">
<% render partial: 'prototype', collection: @prototypes %>
</div>
</div>
</main>
_prototype.html.erb
<div class="card">
<%= link_to image_tag(prototype.image.variant(resize: '500x500'), class: :card__img ), root_path%>
<div class="card__body">
<%= link_to prototype.title, root_path, class: :card__title%>
<p class="card__summary">
<%= prototype.catch_copy %>
</p>
<%= link_to prototype.user.name, root_path, class: :card__user %>
</div>
</div>
自分で試したこと
image_tagの後ろに".to_s"をつける→"Sprockets::Rails::Helper::AssetNotFound"エラーでした(調査中)。
0