ページ切替用プラグインPaginateを使う

INDEX PAGE


ページ切替用プラグインPaginateを使う



Rail用ページングプラグインWillPageNateを利用して
実際にページ切替機能を実装してみます。


まずはコントローラーですが
通常下記のように

@hoge = Hoge.find(:all)

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
########################################################


INDEX PAGE