将与Sinatra和Sequel一起创作宝石

时间:2013-11-20 00:33:28

标签: sinatra will-paginate sequel paginate

我正在尝试使用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分页我的帖子好吗?

1 个答案:

答案 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)