taccc_
@taccc_

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

[質問]image_tagで画像が表示されません

Q&A

Closed

解決したいこと

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

No Answers yet.

Your answer might help someone💌