路线和索引

时间:2013-11-30 07:03:12

标签: ruby-on-rails ruby-on-rails-4

在我的文章控制器中,我有以下索引方法:

def index
  @articles = Article.all
end

在我的routes.rb中我有这个:

resources :users do
  resources :articles, only: [:index]
end

这很好地给了我这样的路线:localhost:3000 / users / 2 / articles

但是,它不是显示用户2的文章列表,而是显示所有这些文章。我需要对索引操作做些什么?

2 个答案:

答案 0 :(得分:1)

在您的索引操作中,您应该按user_id参数过滤您提取的文章:

def index
  @articles = if params[:user_id]
    user = User.find(params[:user_id])
    user.articles
  else
    Article.all
  end
end

答案 1 :(得分:0)

试试这个

@user = User.find(params[:id])
@articles = @user.articles