В моем приложении Rails 2.3.11 я хочу указать, что формат по умолчанию для маршрута: xml.Согласно документации я могу сделать это, используя :defaults
map.connect '/myroute', :controller => 'mycontroller',
:action => 'myaction',
:defaults => {:format => :xml}
В документации конкретно сказано, что это должно работать:
Вы также можете определить другие значения по умолчаниюв маршруте, предоставив хэш для опции: defaults.Это относится даже к параметрам, которые явно не определены в других местах маршрута.
Но если я это сделаю, то получу эту ошибку:
/Users/simon/myproject/vendor/rails/actionpack/lib/action_controller/routing/builder.rb:107:in `assign_route_options':
format: No matching segment exists; cannot assign default (ArgumentError)
Я вижу, что билет на маяк был поднят по этому поводу;респондент отмечает, что он работает для ресурсов, а не для именованных маршрутов;администратор неправильно пометил его как исправленный, потому что он проверял его на ресурсах.Хо гул.
В других местах предлагается сделать это так:
map.connect '/myroute', :controller => 'mycontroller',
:action => 'myaction',
:format => :xml
, но потом, если я проверю это
assert_generates '/myroute', :controller => 'mycontroller',
:action => 'myaction'
, мне скажут, что нет маршрутасовпадения :controller => 'mycontroller', :action => 'myaction'
- Я должен указать формат вручную, чтобы он не был по умолчанию.
Как указать значение по умолчанию в маршруте rails 2.3?Нужно ли им заставить их открыть билет и на самом деле исправить ошибку?Есть ли надежда, что это произойдет, когда выйдет Rails 3?