2012-09-18 30 views
0

我正在構建一個簡單的服務(API),它將使用Ruby on Rails返回用戶對象的json響應。由於它返回我想添加分頁功能(:next_page,:prev)的對象數組,如下所示。使用Rails休息路由的json響應的簡單分頁

"nextpage":www.domain.com/users?page=2&per_page=5 

目前,我有返回URL www.domain.com/users一個寧靜的途徑。如何做我重建網址在我的索引行動,我如何利用limitoffset在這種情況下,使分頁工作嗎?我想每個頁面返回5個項目。不過,我知道這是一個新手問題,這是我第一次創建服務,如果有人能告訴我如何做nextpage我會很感激,我會自己實現prev。我試圖尋找教程這樣做,但所有的人他們不顯示在動作/邏輯method.Thank你 注:我不想使用will_paginate,我只需要構建簡單PAGINATE

回答

1

只需將您的頁面和page_per附加到您的鏈接即可。假設你有標準的RESTful資源的路由,即

的config/routes.rb文件:

resources :users 

所以你有以下途徑產生

GET '/用戶'=>「用戶#指數」

如果您發送該URL到您的Rails應用程序:

'?/用戶頁面= 2 & per_page = 5'

你仍然會得到索引操作,但你有兩個額外的參數,你可以這樣做:

控制器/ users_controller.rb

def index 
    if params[:page] 
    # do your custom pagination 
    else 
    @users = User.all 
    end 
end