[RUBY] Kein Speicherort angegeben. URI kann nicht erstellt werden. Auflösung

Prämisse / Was Sie erreichen wollen

Wir entwickeln eine Diät-App als Portfolio für Aktivitäten zum Jobwechsel. Ich möchte ein Bild auf der Bildlistenseite anzeigen.

Probleme / Fehlermeldungen, die auftreten

Nil location provided. Can't build URI.

Wenn ich versuche, das Bild des von current_user geposteten Beitrags auf der Bildlistenseite anzuzeigen, Ich habe diesen Fehler bekommen.

"Ich kann keine URL für das Bild erstellen, da das Bild Null ist."

スクリーンショット 2020-08-23 午前0.02.27.png Wie bereits erwähnt, enthält die Datenbank mehrere Beiträge ohne Bilder.

Anscheinend ist dies die Ursache.

Entsprechender Quellcode

posts_controller.rb

posts_controller.rb


  def image
    @posts = Post.where(user_id: current_user.id)
  end

  private
  def post_params
    params.require(:post).permit(:food, :calorie, :protein, :fat, :carbo, :text, :image, :weight).merge(user_id: current_user.id)
  end

image.html.haml

ruby:image.html.haml


.content
  .images
  - @posts.each do |post|
    = image_tag post.image.url, class: "my-images"

Was ich versucht habe (dadurch gelöst)

Erhalten Sie nur Beiträge mit Bildern.

posts_controller.rb

posts_controller.rb


  def image
    @posts = Post.where(user_id: current_user.id).where.not(image: nil)
  end

Dies löste das Problem, wenn ich angab, dass der Beitrag, dessen Bildspalte Null ist, nicht abgerufen werden sollte.

Abgeschlossene Bildlistenseite

スクリーンショット 2020-08-23 午前0.09.37.png

Referenzartikel: Geben Sie in der [Rails] Where-Klausel NOT NULL an

Recommended Posts

Kein Speicherort angegeben. URI kann nicht erstellt werden. Auflösung
Was ist zu tun, wenn "Kein Speicherort angegeben. URI kann nicht erstellt werden?" Wird auf CarrierWave angezeigt