我知道这是个老问题,但我不明白为什么半年前有效的代码不起作用。所以我想让只有所有者才能访问他们的帖子。我认为它可以这样写:
def create
@post = current_user.posts.new params[:post]
if @post.save
flash[:notice] = 'Post created'
redirect_to @post
else
render :new
end
end
并在编辑和其他控制器中
def edit
if (current_user.id == @post.user_id)
@post = Post.find params[:id]
else
flash[:notice] = 'You are not owner!'
end
end|
但是在我登录时得到的视图中:
undefined method `user_id' for nil:NilClass
我的问题在哪里?