will_paginate の Collection クラスで使える属性
以前も書いたような気がするが、気にせずメモ。
will_paginate はページ表示するとき便利な Ruby gem である。
@users = User.paginate(:all, :page => params[:page], :per_page => 30, :order => "created_at DESC")
みたいな感じで、ActiveRecord::Base の find クラスメソッドとほぼ同様に使える・・・。page というパラメータを除いて。
ここでかえってきた @users は will_paginate の Collection クラスインスタンスで、ほぼ Array と同じ動きをするのだが、いくつか追加的な属性を使用可能である。
# collection.rb class Collection < Array attr_reader :current_page, :per_page, :total_entries, :total_page ...
とあるので、ここらへんの属性が使えるようだ。
実際、たとえば総ページ数は次のように取得できる。
@users.total_page
カンタンだね。