ページ切替用プラグインPaginateを使う
ページ切替用プラグインPaginateを使う
Rail用ページングプラグインWillPageNateを利用して
実際にページ切替機能を実装してみます。
まずはコントローラーですが
通常下記のように
ActiveRecordのfindを利用する箇所を、pagenateで書き換えます。
@hoge = Hoge.paginate(:page => params[:page], :per_page => 10)
オプション及びデフォルト値は、次のようになっているようです。
設定内容 | パラメーター名 | デフォルト値 |
---|---|---|
モデルのクラス名 | class_name | nil |
単一形→複数形の推測が出来ないモデルの場合にそれぞれの名前を指定する。 | singular_name | nil |
一ページの表示件数 | per_page | 10 |
where句 | conditions | nil |
order by句 | order_by | nil |
調査中 | order | nil |
join句 | join | nil |
join句? | joins | nil |
カウントするカラム? | count | nil |
調査中 | include | nil |
Select文の指定 | select | nil |
ページング用パラメータークラス | parameter | 'page' |
※調査中のところご存知の方居たら教えてください。
という形でしていできるようです。
なお、erb側には次のように記述します。
< table>
< tr>
< td>A列< /td>
< td>B列< /td>
< /tr>
<% for hoge in @hoge %>
< tr>
< td><%= h hoge.a %>< /td>
< td><%= h hoge.b %>< /td>
< /tr>
<% end %>< /table>
<%= will_paginate(@hoge) %>
昔のPagenationだと、ページ切替部の表示/非表示は
IF文とか書かないといけなかったので
かなりキレイにかけるようになりました。
########################################################
◎WillPaginateの導入
導入 http://d.hatena.ne.jp/sai-ou89/20080525
使い方 http://d.hatena.ne.jp/sai-ou89/20080716
########################################################