Nil location provided. Can't build URI.の解決法
前提・実現したいこと
転職活動用ポートフォリオとしてダイエットアプリを開発中。
画像一覧ページに画像を表示させたい。
発生している問題・エラーメッセージ
Nil location provided. Can't build URI.
画像一覧ページでcurrent_userが投稿したpostの画像を表示しようとしたら、
このエラーが出た。
「画像がnil(ない)なので、画像のURLが作れないよ」と言ってる。
確かに指摘されたとおり、データベースには画像なしの投稿が複数保存されている。
どうやらこれが原因らしい。
該当のソースコード
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
image.html.haml
.content
.images
- @posts.each do |post|
= image_tag post.image.url, class: "my-images"
解決法
画像ありのpostだけ取得する。
posts_controller.rb
posts_controller.rb
def image
@posts = Post.where(user_id: current_user.id).where.not(image: nil)
end
これでimageカラムがnilのpostは取ってこないように指定したら解決した。
できあがった画像一覧ページ
Author And Source
この問題について(Nil location provided. Can't build URI.の解決法), 我々は、より多くの情報をここで見つけました https://qiita.com/naota7118/items/99b71958de1bc9a5ed21著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .