2013-06-05 4 views
1

Sinatra에서 kaminari으로 데이터 세트를 페이지하려고하고 있습니다. 내 Gemfile에Sinatra, SEQUEL 및 postgres의 Kaminari 페이지 매김 문제

내가

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

, 당신은 추가 보석없이 속편에서 작업 매김을 얻을 수 있습니다 :

확장자 사용 :

DB.extension(:pagination) 

를 사용하여 페이지 매김 확장을 (당으로 질문 예) :

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

그런 다음 페이지 링크를 렌더링하는보기 논리까지입니다.