review askeet Day 11

ルーティングがうまくいかなかった。

RSSへのリンクを実装しているときにエラーが発生した。

  <li><?php echo link_to('人気の質問。','@popular_questions') ?><?php echo link_to_feed('人気の質問。','@feed_popular_questions') ?></li>

よし、書けたと思いsymfony ccでキャッシュをクリアしてからブラウザで確認。

[sfException]
Route named "popular_questions" have a mandatory "page" parameter

routing.ymlを確認すると

popular_questions:
  url:   /index/:page
  param: { module: question, action: list }

存在はした。
試しに、

  <li><?php echo link_to('人気の質問。','question/list') ?><?php echo link_to_feed('人気の質問。','@feed_popular_questions') ?></li>

と、実行すれば問題はなく表示される。リンクも生きている。
なぜだと悩み、翌日になってふと気がついた。
routing.ymlに

popular_questions:
  url:   /index/:page
  param: { module: question, action: list, page: 1 }

と、書けばよいのではないかと。
そうしたら、問題なし。よく見れば下の方に書かれているrecent_questionsには

recent_questions:
  url:   /recent/:page
  param: { module: question, action: recent, page: 1 }

と、書かれていた。初期値も書いてないのにリンクできないということか。