0

我有 2 个模型文档和类别。

关系是:

  • 一个文档属于一个类别。

  • 一个类别有许多文档。

我想对所有文档和特定类别的文档进行分页。这是我在 routes.rb 中使用 kaminari 自述文件所做的(嗯,我还不是 Rails 专家)

   resources :docs do
     get 'page/:page', :action => :index, :on => :collection
   end
   match '/doc/',                   to: 'Docs#index',     :as => :docs

   resources :category_docs do
     get 'page/:page', :action => :category, :on => :collection
   end
   match '/doc/category/:category', to: 'Docs#category',  :as => :docs_category

所有文档的分页工作正常,但在我看来,类别分页在这一行给出了 RoutingError

   <%= paginate @category_docs, :left => 2, :right => 2 %>

这是文档控制器

   def category
     @title = "Title"
     category = nil
     if params[:category] == "a"
       category = Category.find_by_title( "aa" )
     # code omitted
     elsif params[:category] == "e"
       category = Category.find_by_title( "ff" )
   end

   if category != nil
       @category_docs = category.docs.page( params[ :page ] ).per( 10 )
   else
       @category_docs = Doc.order("updated_at DESC").page( params[ :page ] ).per( 10 )
   end

我哪里错了?我应该切换到 will_paginate 吗?或者只是扔掉这段代码并做其他事情?

4

1 回答 1

0
match '/doc/category/:category', to: 'Docs#category',  :as => :docs_category

不应该:category_docs,不是docs_category吗?我不详细了解 kaminari gem,但是当您调用 时paginate @category_docs,我认为默认情况下它会寻找它。

于 2012-08-23T03:32:56.060 回答