2010年10月9日土曜日

本日の勉強

routes.rbの書き方を勉強する。
/calendar/2010/10/9

といったURLを受け取れるようにしたい。

これは
RailsによるアジャイルWebアプリケーション開発
Sam Ruby David Heinemeier Hansson Dave Thomas
オーム社
売り上げランキング: 69167

この本のP388あたりに例として書かれている。

map.connect "calendar/:year/:month/:day",
:controller=>"calendars",
:action=>"show_date",
:requirements=>{:year=>/(19|20)\d\d/,
:month=>/[01]?|d/,
:day=>/[0-3]?\d/,
:day=>nil,
:month=>nil


これをrails3のroutesの書き方にする、と。初心者はそれだけのことでもググリまくりです。

railsguitesの Rails Routing from the Outside Inとか、ASCIIcastsの203: Routing in Rails 3とかを参考に、

match '/calendar/:year(/:month(/:day))' => 'calendars#show_date',:year=>/(19|20)\d\d/,:month=>/[01]?\d/,:day=>/[0-3]?\d/

と書いたところ、無事ルーティングできました。やっほー。

0 件のコメント:

コメントを投稿