2 つのモデル ドキュメントとカテゴリがあります。
関係は次のとおりです。
ドキュメントは 1 つのカテゴリに属します。
カテゴリには多くのドキュメントがあります。
すべてのドキュメントと特定のカテゴリのドキュメントをページ分割したいと考えています。これは、routes.rb の kaminari readme で私が行ったことです (まあ、私はまだ 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 に切り替える必要がありますか? それとも、このコードを捨てて別のことをしますか?