kaminari undefined方法`total_pages’

我用kaminari,错误。

的Gemfile:

# gem 'will_paginate', '~> 3.0.6' # gem 'will_paginate-bootstrap' gem 'kaminari' 

lists_controller.rb

  def index if params[:tag] @lists = List.tagged_with(params[:tag]).order(created_at: :desc).paginate(page:params[:page], per_page: 3 ) else @lists = List.all.order(created_at: :desc) end end 

我也用户.page params[:page].per(2)跟随.page params[:page].per(2) .order(created_at: :desc)但不工作

视图/列表/ index.html.erb

  

错误在这里

 undefined method `total_pages' for # Extracted source (around line #26): 

我不知道怎么做,我复制关于kaminari的railscast,video很好,我有一个bug。 谢谢你的帮助。

您需要对两个查询进行分页。 我建议像:

 def index if params[:tag] @lists = List.tagged_with(params[:tag]) else @lists = List.all end @lists = @lists.order(created_at: :desc).paginate(page:params[:page], per_page: 3 ) end 

否则当params[:tag]为nil时, @lists不会成为分页对象。

尝试分页:

  List.tagged_with(params[:tag]).order(created_at: :desc).page(params[:page]).per(3)