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
Contents
routes.rbで省略可能パラメータを指定する方法
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
瀧内元気: おお、チェックしてみます。thx! '11-12
overisland: Reeder for iPhone もこの UI を実装していますね。 '11-12
瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 ... '11-12
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ