Kaminari RoutingError

时间:2012-08-23 02:44:44

标签: ruby-on-rails kaminari

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

关系是:

  • doc属于一个类别。

  • 一个类别有很多文档。

我想对特定类别的所有文档和文档进行分页。以下是我在routes.rb中对kaminari自述文件所做的事情(好吧,我还不是铁路专家)

   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 %>

这是docs controller

   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吗? 或者只是抛弃这些代码并做其他事情?

1 个答案:

答案 0 :(得分:0)

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

不应该是:category_docs,而不是docs_category吗?我不详细了解kaminari gem,但是当你打电话给paginate @category_docs时,我认为默认情况下它就是它所寻找的。