Masahiro Okubo

rails APIでページネーションを実装する

rails APIでページネーションを実装する

データ量が多くなって来たのでページネーションを入れました〜

railsでページネーションといえば ‘kaminari’がデファクトスタンダード的な存在だと思うので
とりあえず kaminari を使用しました

[toc]

gemの追加

gem 'kaminari', '1.0.1'
#gem を追加した bundle installします
$ bundle install

コントローラーに突っ込む

# (params[:page]) -> URLからpage番号を取得
#(params[:page] ||= 1) -> page番号が指定されていなかったらデフォルトで1で実行
# per(5) -> 1ページあたり5件表示
def index
    @customers = Customer.page(params[:page] ||= 1).per(5).order('created_at DESC')
    render 'index', :formats => [:json], :handlers => [:jbuilder]
 end

動いているか確認

http://localhost:3000/customers?page=1

上記リンクにアクセスすると

こんな感じで表示されました!

参考にした記事

Creating Rails 5 API only application following JSON:API specification
【Rails4】kaminariをAPIで利用する


関連記事

copyright© 2016-2021 Masahiro Okubo