2013-06-05 16 views
0

我正在努力與此。使用sinatra,ruby和Sequel,我試圖實現分頁。將_paginate不分頁與SEQUEL

查詢是:

@items = DB[:candidates].order(:id).paginate(1, 10) 

其中工程,它產生的記錄的期望數目和<%= will_paginate(@items)%>鏈接生成以下HTML:

← Previous 1 2 3 4 5 Next → 

當我點擊我的瀏覽器地址欄中的數字或下一個鏈接時,例如:

http://localhost:4567/candidate?page=3` 

但頁面不變!

的Ruby代碼是:

get '/candidate' do 
     @items = DB[:candidates].order(:id).paginate(1, 10) 
     erb :candidate 
end 

任何想法?感謝所有的幫助。 param傳遞有問題嗎?查詢

@items = DB[:candidates].order(:id).paginate(page: params[:page], 10) 

不起作用併產生錯誤信息。

謝謝。

回答

1

寫代碼如下

@items = DB[:candidates].order(:id).paginate(:page=>params[:page] || 1, :per_page => 10) 

和我的視圖文件你寫 <%= will_paginate @items,:>而不是容器=>虛假%

@items = DB[:candidates].order(:id).paginate(1, 10) 

而且它的工作原理

+0

謝謝,不幸的是它沒有。這是錯誤:在 引發ArgumentError /候選人 錯誤的參數數目(1 2) 文件:pagination.rb 位置:拼版 線:17 – user1903663

+0

看來,什麼是你的代碼。 –

+0

<%@ items.each do | item | %> ​​<%=項[:指定]%>等,等領域 <% end %> <(%)= will_paginate(@items)%> – user1903663