Rails2.2でwill_paginateを利用

1.2.6からしばらく使っていないうちに変わってしまったので、改めてメモ

環境は、Ruby1.8.7 p72, Rails2.2.2, gem1.3.1で、手元のMacBookに入れてみた。

まずは、gitに管理が移ってるようなのでgemの検索先を追加

#gem sources -a http://gems.github.com/

つぎにインストールなのだが、mislavというブランチが現在の最新版のようなのでそっちを入れる

#gem install mislav-will_paginate

これで2.3.6が入った。ちなみにwill_paginateをインストールすると2.2.2が入るので、こっちがちょっと古い。

つぎにRailsの環境定義ファイルを設定する。この時注意しないといけないのが、will_paginateがライブラリ名なのでそれを明示する必要がある。

config.gem 'mislav-will_paginate', :lib => 'will_paginate', :version => '~> 2.3'

gemでインストールした名前とlibの名前を書いてはっきりしないとロードに失敗する。

後はモデルの設定。以下の例のような定義を追加してやれば大丈夫。

 class Post < ActiveRecord::Base
    cattr_reader :per_page
    @@per_page = 50
 end

あとは、findの代わりにpaginateのメソッドを使ってモデルを呼び出す事で分割呼び出しができるようになる。

詳しくは以下を参照。
http://github.com/mislav/will_paginate/tree/master

しばらくみないとすっかり浦島太郎になってるのが困り者だなあ。