0

我正在构建一个简单的服务(API),它将使用 Ruby on Rails 返回用户对象的 json 响应。因为它返回一个对象数组,所以我想添加分页功能(:next_page,:prev),如下所示。

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

目前我有一条返回 url 的宁静路线。www.domain.com/users如何在我的索引操作中重建 url 以及如何利用limitoffset在这种情况下使分页工作?我想在每页返回 5 个项目。对不起,我知道这是一个新手问题,这是我第一次创建服务,如果有人能告诉我如何做,nextpage我将不胜感激,我将prev自己实施。我已经尝试寻找教程来做到这一点,但他们都没有显示动作/方法中的逻辑。谢谢 注意:我不想使用 will_paginate,我只需要构建简单的分页

4

1 回答 1

1

只需将您的页面和 page_per 附加到任何操作的链接即可。假设你有标准的基于资源的路由,即

配置/路由.rb:

resources :users

所以你会生成以下路线

GET '/users' => 'users#index'

如果您将此 url 发送到您的 rails 应用程序:

'/users?page=2&per_page=5'

你仍然会得到 index 动作,但是你会有两个额外的参数,你可以这样做:

控制器/users_controller.rb

def index
  if params[:page]
     # do your custom pagination
  else
     @users = User.all
  end
end
于 2012-09-18T17:14:27.860 回答