Rails でページ送り, will_paginate プラグインのインストール

Ruby on Rails で多数の結果を分割して表示するページ送り(ページネーション)を行う方法のメモ。

以前の Rails では標準でページ送り機能が使えたようだが、Rails 2.0 以降はプラグインのインストールが必要になったらしい。
そこで、will_paginate というプラグインを使ってみる。

インストールは git から。
インストール後、プラグインを有効にするために WEBrick を再起動しておく。

$ ruby script/plugin install git://github.com/mislav/will_paginate.git
Initialized empty Git repository in /Users/foo/rails_project/vendor/plugins/will_paginate/.git/
remote: Counting objects: 57, done.
remote: Compressing objects: 100% (54/54), done.
remote: Total 57 (delta 2), reused 25 (delta 0)
Unpacking objects: 100% (57/57), done.
From git://github.com/mislav/will_paginate
 * branch            HEAD       -> FETCH_HEAD

データを読み込む際に find メソッドの代りに paginate メソッドを使い読み込む。
パラメータは大体 find メソッドと同じ感じ。

@data = Data.paginate(:page => params[:page], :per_page => 10)

ビューにナビゲーション作成用のヘルパーメソッドを記述する。

<%= will_paginate(@accounts) %>

参考:mislav’s will_paginate at master – GitHub
   will_paginateに移行 – ひげろぐ

«
»