Rails 3.通过关联查找具有has_many的特定类别的文档

时间:2012-07-03 17:13:11

标签: ruby-on-rails ruby associations kaminari

我有以下型号

Document
has_many :document_categorizations
has_many :document_categories, through: :document_categorizations

DocumentCategory
has_many :document_categorizations
has_many :documents, through: :document_categorizations

DocumentCategorization
belongs_to :document_category
belongs_to :document

在我的索引操作中,我可以按类别过滤文档...

def index
  if params[:category_id].nil?
    @documents = Document.page(params[:page]).per(15)
  else
    @documents = DocumentCategory.find(params[:category_id]).documents
    @category = DocumentCategory.find(params[:category_id])
  end    
  ....
end

我不能再使用DocumentCategory.find(params[:category_id]).documents,因为我刚刚添加了kaminari用于分页,我需要在Document模型而不是DocumentCategory进行查询。

如何查询特定类别的文档?

1 个答案:

答案 0 :(得分:1)

啊!太简单。这就是你连续几个小时编码的情况。我想我只需要休息一下并获得一点视角,突然之间它只是打击了我。

@category = DocumentCategory.find(params[:category_id])
@documents = @category.documents.page(params[:page]).per(15)