Activerecord如何获取集合中所有唯一的belongs_to属性?

时间:2014-10-28 04:00:01

标签: sql ruby-on-rails ruby activerecord information-retrieval

我有一个带有模型帖子和模型类别的rails应用程序。

类别belongs_to Post

我使用分页每页显示20个帖子,每个页面都有一个过滤器按类别进行过滤。

截至目前,我根据整个帖子集打印出类别列表,而不是构成给定分页页面的子集。

因此,在我以前的行动中,我曾做过:

home do
  @posts = Posts.paginate(page: params[:page], per_page: 20)
  @categories = Category.all
  respond_to do |format|
    format.html
  end
end

如何填充@categories,使其包含@posts中所有唯一类别的列表,而不是整个类别数据库。

1 个答案:

答案 0 :(得分:1)

请尝试Category.joins(:posts).paginate(page: params[:page], per_page: 20).uniq