railstutorial:我创建了我的第一个关联(用户和帖子),但可以访问帖子

时间:2016-09-03 10:52:53

标签: ruby-on-rails ruby railstutorial.org ruby-on-rails-5

在用户和微博之间创建关联后,我们会被要求在每个用户show方法中显示第一篇文章。然后我这样做(在用户controller.rb中)

 def show
  @microposts = User.first.microposts.first
 end

在rails控制台中,查询会返回正确的结果,但我无法在浏览器中获取。我究竟做错了什么?

当前结果是用户信息而不是第一个帖子。

1 个答案:

答案 0 :(得分:-1)

您将返回第一个用户的第一个帖子,而不是您要显示的用户的第一个帖子。请尝试以下方法:

def show
  @user = User.find params[:id]
  @microposts = @user.microposts.first
end

但是,在控制器中使用比@user更多的实例变量并不是一个好习惯,我的意思是,视图应该只有@user可用而不是@user和{ {1}}。