ホーム DoRuby will_paginageを使ってみた

will_paginageを使ってみた

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

rails2.0に移行したらpaginateがつかえなくなりました。

なので、代わりとなるwill_paginateというプラグインを使ってみます。

まずプラグインのインストールから
プロジェクトフォルダ内で、

# script/plugin install svn://errtheblog.com/svn/plugins/will_paginate
A    /home/sakuma/workspace/test/vendor/plugins/will_paginate
A    /home/sakuma/workspace/test/vendor/plugins/will_paginate/test
A    /home/sakuma/workspace/test/vendor/plugins/will_paginate/test/helper.rb
A    /home/sakuma/workspace/test/vendor/plugins/will_paginate/test/console
A    /home/sakuma/workspace/test/vendor/plugins/will_paginate/test/database.yml
A    /home/sakuma/workspace/test/vendor/plugins/will_paginate/test/boot.rb
A    /home/sakuma/workspace/test/vendor/plugins/will_paginate/test/lib
A    /home/sakuma/workspace/test/vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb



— Mislav
すごい勢いで、いろいろ入いりました。

controllerを修正します。
paginateしたいアクションに
以下を追加(#は以前のpaginate)
# @pages, @items = paginate(:items, :per_page => 3)
@items = Item.paginate(:page=>params[:page], :per_page=>3)

※ “:page”は表示したいのページのパラメーターです。
  現在表示されているページパラメーターはparams[:page]で取ってこれます。

書き方的には
Model名.paginate(:page=>params[:page], 以下前と同様)

て感じでしょうか。

viewも修正します。
表示方法は、以前と同様、
<% for item in @items %>
  <%=h item.name %> <%=h item.body %><br />
<% end %>
でいけます。
ページを表示させるリンクには
<%= will_paginate(@items) %>

を付けます。

こんな感じにpaginateできました。画面が小さくて見づらいですが。。。

案外簡単。

google先生によると、
Item.paginate_by_user_idとか
@items.page_count(総ページ数の取得)とかもできる模様。
いろいろ試せます。
 

記事を共有

最近人気な記事