Nil location provided. Can't build URI.
전제·실현하고 싶은 것
전직 활동용 포트폴리오로서 다이어트 앱을 개발중.
이미지 목록 페이지에 이미지를 표시하고 싶습니다.
발생한 문제 및 오류 메시지
Nil location provided. Can't build URI.
이미지 목록 페이지에서 current_user가 게시한 포스트 이미지를 보려고 하면,
이 오류가 발생했습니다.
「이미지가 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는 취하지 않도록 지정하면 해결했다.
완성 된 이미지 목록 페이지
참고 기사 : [Rails]Where 절에 NOT NULL 지정
Reference
이 문제에 관하여(Nil location provided. Can't build URI.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/naota7118/items/99b71958de1bc9a5ed21텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)