В Rails 3 (.0.4) пользовательские маршруты имеют неявный параметр (.: Format) в конце (обратите внимание на «как HTML / XML»):
match "/~(/:foo)" => "categories#index"
Started GET "/~/bar" for 127.0.0.1 at 2011-02-12 08:45:00 +0000
Processing by CategoriesController#index as HTML
Parameters: {"foo"=>"bar"}
Started GET "/~/bar.xml" for 127.0.0.1 at 2011-02-12 08:45:00 +0000
Processing by CategoriesController#index as XML
Parameters: {"foo"=>"bar"}
Тем не менее, с помощью globbing это больше не работает:
match "/~(/*foo)" => "categories#index"
Started GET "/~/bar" for 127.0.0.1 at 2011-02-12 08:48:14 +0000
Processing by CategoriesController#index as HTML
Parameters: {"foo"=>"bar"}
Started GET "/~/bar.xml" for 127.0.0.1 at 2011-02-12 08:48:19 +0000
Processing by CategoriesController#index as HTML
Parameters: {"foo"=>"bar.xml"}
Почему бы и нет, и как мне заставить его работать?