will_paginateを利用します。とってもらくちんです。
require ‘will_paginate’
def hoge
@items = Item.pagenate(
:conditions => [“hoge= ?”, hoge],
:page => params[:page],
:per_page => 30)
end
コントローラ側は以上。30レコードでページングします。find_by_sqlみたいな使い方も可能です。
@items = Item.paginate_by_sql(
[“select * from hoge where hoge = ?”, hoge],
:page => params[:page],
:per_page => 30)
たいして変わりません。View側も通常のActiveRecordとの違いは
<%= will_paginate @items, :prev_label => ‘< 前’, :next_label => ‘次 >’ %>
こういうタグを記述しておけば勝手にページングアンカーが表示されるようになるくらいです。
:prev_labelは指定しなくてもOKです。デフォルトの文字列が表示されます。