2012-09-18 32 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