Ruby Rails:无法将 [Kaminari 或 will_paginate] 的分页添加到分类帖子
Ruby on Rails: Cannot add pagination both [Kaminari or will_paginate] to categorized posts
我在让任何分页用于分类帖子时遇到问题。例如,所有帖子所在的索引,分页有效,但只要我单击类别,我就会收到这样的错误。
我做错了什么?
undefined method `total_pages' for #<Post::ActiveRecord_Relation:0x007f60061f5f78>
与 Kaminari 一起发布控制器
def index
if
params[:category].blank?
@posts = Post.all.order("created_at DESC").page(params[:page]).per(1)
else
@category_id = Category.all
@category_id = Category.find_by(name: params[:category]).id
@posts = Post.where(category_id: @category_id).order("created_at DESC")
end
end
帖子控制器 will_paginate
def index
if
params[:category].blank?
@posts = Post.all.order("created_at DESC").paginate(page:params[:page], per_page: 1 )
else
@category_id = Category.all
@category_id = Category.find_by(name: params[:category]).id
@posts = Post.where(category_id: @category_id).order("created_at DESC")
end
end
查看:
<%= paginate @posts %>
查看:
<%= will_paginate @posts %>
您需要 page
或 paginate
方法用于 @posts
在控制器的其他部分,
def index
if
params[:category].blank?
@posts = Post.all.order("created_at DESC").paginate(page:params[:page], per_page: 1 )
else
@category_id = Category.all
@category_id = Category.find_by(name: params[:category]).id
@posts = Post.where(category_id: @category_id).order("created_at DESC").paginate(page:params[:page], per_page: 1 )
end
end
我在让任何分页用于分类帖子时遇到问题。例如,所有帖子所在的索引,分页有效,但只要我单击类别,我就会收到这样的错误。
我做错了什么?
undefined method `total_pages' for #<Post::ActiveRecord_Relation:0x007f60061f5f78>
与 Kaminari 一起发布控制器
def index
if
params[:category].blank?
@posts = Post.all.order("created_at DESC").page(params[:page]).per(1)
else
@category_id = Category.all
@category_id = Category.find_by(name: params[:category]).id
@posts = Post.where(category_id: @category_id).order("created_at DESC")
end
end
帖子控制器 will_paginate
def index
if
params[:category].blank?
@posts = Post.all.order("created_at DESC").paginate(page:params[:page], per_page: 1 )
else
@category_id = Category.all
@category_id = Category.find_by(name: params[:category]).id
@posts = Post.where(category_id: @category_id).order("created_at DESC")
end
end
查看:
<%= paginate @posts %>
查看:
<%= will_paginate @posts %>
您需要 page
或 paginate
方法用于 @posts
在控制器的其他部分,
def index
if
params[:category].blank?
@posts = Post.all.order("created_at DESC").paginate(page:params[:page], per_page: 1 )
else
@category_id = Category.all
@category_id = Category.find_by(name: params[:category]).id
@posts = Post.where(category_id: @category_id).order("created_at DESC").paginate(page:params[:page], per_page: 1 )
end
end