0

Ruby on Rails を使用して、ユーザー オブジェクトの json 応答を返す単純なサービス (API) を構築しています。オブジェクトの配列を返すので、次のようにページネーション機能 (:next_page 、:prev) を追加します。

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

現在、私はurlを返す安らかなルートを持っていwww.domain.com/usersます。インデックスアクションでURLを再構築するにはどうすればよいですか?limitまたoffset、この場合、ページネーションを機能させるにはどうすればよいですか? すべてのページで 5 つのアイテムを返したいと思います。申し訳ありませんが、初心者の質問であることは承知しています。サービスを作成するのは初めてです。誰かがその方法を教えていただければ幸いです。自分でnextpage実装します。prevこれを行うためのチュートリアルを探してみましたが、それらはすべてアクション/メソッドのロジックを示していません。ありがとうございます 注: will_paginate を使用したくありません。単純な paginate を構築する必要があるだけです。

4

1 に答える 1

1

page と page_per をリンクに追加して、アクションを実行するだけです。標準的な RESTful リソース ベースのルーティングがあるとします。つまり、

config/routes.rb:

resources :users

したがって、次のルートが生成されます

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

この URL を Rails アプリに送信すると、次のようになります。

「/users?page=2&per_page=5」

引き続き index アクションを取得しますが、2 つの追加のパラメーターがあり、これを行うことができます。

コントローラー/users_controller.rb

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