Rails でページ送り, will_paginate プラグインのインストール
2010年04月09日
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に移行 – ひげろぐ