Railsでは,たとえば複数のタグのついた記事をタグで絞り込んで表示するためのページを作りたい場合がある. こういうときに単純に以下のようなrouteを定義することができる.
match /tags/(:tag1/(:tag2(/:tag3)))
こうするとGET /tags/rails/route/tag
のようなリクエストを受けてコントローラで
params[:tag1] => "rails" params[:tag2] => "route" params[:tag3] => "tag"
のように受け取ることはできるけど,とてもめんどくさいし,DRYでもないし,指定できるタグ数に上限がついてしまう. こういう場合に以下のようにrouteを設定するとすべてのパラメータをまとめて受けることが可能になる.
match /tags/*tags
この場合,GET /tags/tag1/tag2/tag3
のリクエストを受けると,
params[:tags] => "tag1/tag2/tag3"
を受け取ることができる。