2013-06-05 1 views
1

Я пытаюсь представить набор данных с kaminari на Синатре.Sinatra, Kaminari проблемы с разбивкой по страницам с SEQUEL и postgres

В моей Gemfile я имею

source "https://rubygems.org" 
gem 'sinatra' 
gem 'thin' 
gem 'pg' 
gem 'kaminari', :require => 'kaminari/sinatra' 

Код рубин:

dataset = DB[:candidates] 
get '/candidate' do 

    @items = dataset.order(:id).page(params[:page]).per(5) 
    erb :candidate 
end 

и сообщение об ошибке:

NoMethodError at /candidate 
undefined method `page' for #<Sequel::Postgres::Dataset:0x94a6808> 

    file: app.rb 
    location: block in <main> 
    line: 25 

я застрял. Я также пробовал will_paginate с аналогичным разочарованием и неудачей.

Мой первый вопрос: есть ли правильный запрос? Я также пробовал:

@items = dataset.order("id").page(:page=>params[:page]).per(5) 

, который производит ту же ошибку.

Любые идеи кто-нибудь?

Помощь очень благодарен. Спасибо.

ответ

2

В случае, если кто-то приходит через этот вопрос, вы можете получить пагинацию работать в Sequel следующим образом без каких-либо дополнительных драгоценных камней:

Включить расширение:

DB.extension(:pagination) 

Используйте расширение постраничной (в соответствии с вопрос пример):

page = Integer(params[:page]) rescue 1 
@items = dataset.order(:id).paginate(page, 5) 

Тогда его до вашего логики просмотра для отображения ссылок на страницы.

Смежные вопросы