rubyでページング‐paginate

| | コメント(0) | トラックバック(0)

ruby on railsでページングをする場合にはpaginateというのを使うらしい。

2.0だとwill_paginateというのになるらしい。
なんか、will_paginateは非効率なSQLを吐くとからしいけど、本家推奨?っぽいのでそのうち改善されるだろうということで、あまりその辺は気にしないことに。

ところで、自分のrailsのバージョンを確かめるには、
ruby script/about
で調べられる。
筆者の場合はこんな感じ。
========================-
About your application's environment
Ruby version 1.8.6 (i386-mswin32)
RubyGems version 0.9.4
Rails version 2.0.2
Active Record version 2.0.2
Action Pack version 2.0.2
Active Resource version 2.0.2
Action Mailer version 2.0.2
Active Support version 2.0.2
Application root C:/Dev/ruby/workspace/
Environment development
Database adapter postgresql
========================-

ちなみに"ruby script/xxxx"ってどこでもできるわけじゃなく、アプリケーションルートじゃないとダメってことに気づくのにけっこう時間がかかった。

話を元にもどしてwill_paginateだけど、プラグインとして別切りにされているのでインストールしなきゃいけない。

ruby script/plugin install \
http://tools.assembla.com/svn/ \
breakout/breakout/vendor/plugins/will_paginate/
↑全部一行で、¥は取って。

で、
コントローラーに
=====================
# @hoges = Hoge.find_by_sql("select * from hoges LIMIT 30")
@hoges = Hoge.paginate(:page => params[:page], :per_page => 30)
=====================

ビューのテキトーなとこに
=====================
<%#= link_to 'Previous page', { :page => @hoge_pages.current.previous }, {:rel=>'prev'} if @hoge_pages.current.previous %>
<%#= link_to 'Next page', { :page => @hoge_pages.current.next }, {:rel=>'next'} if @hoge_pages.current.next %>
<%= will_paginate @hoges, :prev_label=>'«Prev', :next_label=>'Next»' %>
=====================

であっさりページングが完了。

実は、けっこうハマッたことがあって(またかよ)、will_paginateをインストールしても、うんともすんとも反応しなかった。

原因がコントローラのところで
Hoge.pagenate
って書いてたからだった。

いや、よくよく思い出してみるとエラーも「pagenateなんかねーよ」ってでてたんだけど、pagenateでググるとけっこうでてくんのよ。

Javaとかだとメソッドの参照がガッチリきくからこんなことないので(別にJavaの功績じゃないけど)ちょっとあせった。


トラックバック(0)

このブログ記事を参照しているブログ一覧: rubyでページング‐paginate

このブログ記事に対するトラックバックURL: http://hirop0164.s326.xrea.com/mt/mt-tb.cgi/164

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ぴろしが2008年5月20日 02:24に書いたブログ記事です。

ひとつ前のブログ記事は「EclipseでEXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x381f7bfc」です。

次のブログ記事は「ruby on railsの文字化け‐文字コード設定」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。