16th Sat
pagination_scope
named_scopeによるPagination
を行うためのGemを作りました。
通常はwill_paginateを利用するほうがいいと思いますが、
:joinsを含む複雑なnamed_scopeを介してpaginationを行いたい場合には、
利用すると便利かもしれません。
使い方
まず、モデルクラスの中でincludeします。
rails>>
class Post
include PaginationScope
end
<<--
これによって、Postクラスにpaginateというnamed_scopeが作成されます。
続いて、Paginationを利用したいコントローラのアクションメソッド内で、
rails>>
class PostsController < ApplicationController
def index
@posts = Post.not_deleted.paginate(params[:page], 10)
<<--
のようにScopeを取得します。
続いて、Viewで以下のようにPagination用HTMLを生成します。
html>>
<%= paginate @posts %>
<<--
paginateメソッドは PaginationScope によって導入されるViewヘルパーです。
posted by
genki on Sat 16 Aug 2008 at 23:14 with 0 comments