blogこの広告は、90日以上更新していないブログに表示しています。2.0.1がリリースされたので、自作アプリもこれに対応してみることにした。-yただし、これは俺の環境だけかもしれないが、rubygemsの依存関係に任せておくと、Rails2.0では必須であるはずのActiveResourceがインストールされない。よって、これも別途インストールする。activeresourceお決まりの更新作業を実施。config/environment.rbのRAILS_GEM_VERSIONを書きかえる。RAILS_GEM_VERSIONで、アップデート。rails:updateJavascriptのライブラリとかいろいろ変更される。起動してみたら、これが動かない。#):paginateが無い?ちょいと調べてみると、paginationはRails2.0からプラグインになって標準でバンドルされなくなったらしい。RC時代から2.0を見ている人々からすれば常識レベルの知識のようだ。classic_paginationプラグインをインストールすれば、そのまま使えるようになる。http://tools.assembla.com/svn/breakout/breakout/vendor/plugins/classic_pagination/これで動くようにはなるのだが、インストール時のメッセージに気になる一文がある。will_paginate.classic_paginationは今後メンテナンスされないから、will_paginateを使うべし、とのこと。優れたAPIになっていると主張しているし、どうせ対応しなければならないのだから早いほうがいい。いうわけで、これを入れてみることにした。2008/05/08追記:will_paginateのインストール方法は変更されており、下記の方法はもう古い。詳しくはこちらのエントリで。リポジトリ登録するか・・・。-nなんと、-nオプション*1が効かない!大量に見つかるリポジトリ一つ一つにyキー押して応答しろってか?ありえん。仕方がない、直接指定だ。svn://errtheblog.com/svn/plugins/will_paginateネットワークがセキュリティガチガチでsvn://を通してくれない場合は、httpで落とすしかない。非常に頭の悪い方法*2で探してみたら、どうやらhttp://tools.assembla.com/svn/breakout/breakout/vendor/plugins/will_paginate/から落とせるらしいことがわかった。http://tools.assembla.com/svn/breakout/breakout/vendor/plugins/will_paginate/インストール成功。ソースコードの修正に入ることができる。コントローラ内のpagination表示する直前のアクション(ここではEntriesController#list)で、次のように書く。desc'end比較用に古いpaginationのコードもコメントアウトして併記した。paginateメソッドは、:orderを見ればわかると思うが、基本的にActiveRecordのfindメソッドと同じように扱える。params[:page]は、どうやら表示するページ番号を渡しているらしい。:pageというパラメータ名がどこから表れたのか疑問だったが、viewでつかうwill_paginateヘルパーが勝手にpageパラメータにページ番号を渡してくるので、とにかくこう書くものだと思っていてよさそうだ。そのwill_paginateなのだが、view(ここではapp/views/entries/list.rhtml)で次のように使う。あと、これは別にやらなくてもいいオマケ的作業なのだが、will_paginateのREADME(vendor/plugins/will_paginate/README)に「こんなCSS定義しとくといいんじゃね?」というサンプルが載っているので、これをpublic/stylesheets/paginate.cssとして保存し、layouts(ここではapp/views/layouts/entries.rhtml)のヘッダで読み込ませておく。2.0.1対応が終了。他にもいろいろお作法が変わったりしてるだろうから完璧ではないが、とりあえず動く。paginationはwill_paginate以外にもいろいろありそうなので、今後試していきたい。*1:--no-prompt。対話無しに、新しいリポジトリを片っぱしから登録していくはずのオプション。-lで調べたリポジトリ中、httpなところを片っ端からaddして検索した・・・。4」を書いたCapistranoでタスクの実行対象サーバを絞り込む方法GitをHTTP経由で使うときのパスワードを安全に扱いたい月別アーカイブはてなブログをはじめよう!idesakuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。