undefined method `avatar' for nil:NilClass
【質問】
user/showのページでは画像の表示はできているが、
posts/indexのページでは画像が表示できない。
@userがnillで定義されていないのだと思うのですがコントローラー等どう編集していいかわからず教えて頂きたいです。
ruby
1class PostsController < ApplicationController 2 3 def index 4 @posts = Post.all.order("created_at DESC").page(params[:page]).per(18) 5 end 6 7 def show 8 @post = Post.find(params[:id]) 9 @comment = Comment.new 10 @comments = @post.comments.includes(:user) 11 end 12 13 def new 14 @post = Post.new 15 end 16 17 def edit 18 post = Post.find(params[:id]) 19 post.edit(post_params) 20 redirect_to post_path(post.id) 21 end 22 23 def create 24 Post.create(post_params) 25 redirect_to root_path 26 end 27 28 private 29 def post_params 30 params.require(:post).permit(:id,:image, :comment) 31 end 32end
ruby
1class UsersController < ApplicationController 2 3 def index 4 @user = User.find(params[:id]) 5 end 6 7 def show 8 @user = User.find(params[:id]) 9 end 10 11end
ruby
1%h1 about me 2= link_to "編集", edit_user_registration_path 3 4%h3 ユーザー名 5= @user.username 6 7%h3 メールアドレス 8= @user.email 9%br/ 10%br/ 11.user-icon 12 %h3 ユーザーアイコン 13 = image_tag @user.avatar
あなたの回答
tips
プレビュー