如何从用户获取所有帖子

时间:2012-05-06 16:14:22

标签: ruby-on-rails

我的rails应用程序中有一个User和Post scaffolded。我想获得与用户相关的所有帖子。例如,我希望能够做到这样的事情:

  

本地主机:3000 /用户/ 1 /帖子

它应该给我带有user_id = 1的所有帖子。我知道如何通过rails控制台获取特定用户的所有帖子。我只是想知道如何才能完成上述例子。我是否必须在用户控制器中添加另一种方法?

3 个答案:

答案 0 :(得分:7)

您可以在不添加新操作的情况下执行此操作。像这样:

class PostsController < ApplicationController
  def index
    @user = User.find(params[:user_id])
    @posts = @user.posts
  end
end

答案 1 :(得分:3)

另一个一行示例如下,将其添加到索引

@posts = User.find(params[:user_id]).posts

答案 2 :(得分:1)

我对一个可能有用的相关问题写了一个很长的答案:

https://stackoverflow.com/a/17911920/321583