This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/84

Ruby on Railsでは、config/routes.rbファイルにURLとアクションの対応付けを記述します。 例えば、以下のように記述した場合;

map.connect 'for/:bar', :controller => 'foo', :action => 'show'
/foo/bazにアクセスすると、params[:bar]に'baz'が入った状態でFooController#showが呼び出されます。

しかし、/fooにアクセスするとRouting Errorになってしまいます。:barの指定を省略可能にするには、

map.connect 'for/:bar', :controller => 'foo', :action => 'show', :bar => 'default_value'
のように、デフォルトのbarの値を指定します。これによって、/fooでアクセスした時にはparams[:bar]は'default_value'となり、それ以外の場合には指定した値が入るようになります。デフォルト値にはnilを指定する事も可能です。

:controller、:action、:idの3つの特殊パラメータに関しては、最初から省略可能になっていますが、それ以外のパラメータについては、上記のようにデフォルト値を設定する事で、明示的に省略可能にする必要があります。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/84

posted by Png genki on Mon 14 Aug 2006 at 02:50

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry52
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ