我正在尝试使用will_paginate gem对我的博客帖子进行分页,我也在使用Sinatra和Sequel作为博客。我收到一条错误,指出“未定义的方法`paginate'”。我已经尝试了一切使它工作,但它总是一样的错误。
page = params.fetch "page", 1
per_page = params.fetch "per_page", 3
@posts = Post.order(:id).paginate(page.to_i,per_page.to_i)
OR @posts = Post.paginate(:page => params [:page])
无论我提供哪种查询,两者都会产生相同的错误。
有没有办法让这项工作,还是有其他任何方式,所以我可以使用续集和Sinatra分页我的帖子好吗?
答案 0 :(得分:0)
不是特别与续集相关,但您可以使用此分页任何集合(即使那些will_paginate默认不集成):
require 'will_paginate/collection'
paged_collection =
WillPaginate::Collection.create(page, per_page, total_count) do |pager|
pager.replace(collection)
end
修改强>
试试这个:
require 'will_paginate'
require 'will_paginate/sequel'
require 'sequel/extensions/pagination'
page = params.fetch "page", 1
per_page = params.fetch "per_page", 3
@posts = Post.order(:id).extension(:pagination).paginate(page.to_i,per_page.to_i)