我有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吗? 或者只是抛弃这些代码并做其他事情?
答案 0 :(得分:0)
match '/doc/category/:category', to: 'Docs#category', :as => :docs_category
不应该是:category_docs
,而不是docs_category
吗?我不详细了解kaminari gem,但是当你打电话给paginate @category_docs
时,我认为默认情况下它就是它所寻找的。 p>