Я пытаюсь, чтобы мой проект Rails 3 автоматически разрешал контроллеры пространства имен, аналогично поведению Rails 2. Например (Rails 2):
$ rails pathtest && cd pathtest
$ script/generate controller First
$ script/generate controller first/second
$ script/generate controller first/second/third
$ script/server
Запросы:
/ first маршруты к первому контроллеру
/ первый / второй маршруты ко второму контроллеру
/ первый / второй / третий маршруты к третьему контроллеру
Но Rails 3 выдает другую маршрутизацию, используя путь 'wild controllers'.
$ rails new pathtest && cd pathtest
$ rails generate controller First
$ rails generate controller first/second
$ rails generate controller first/second/third
## config/routes.rb
Pathtest::Application.routes.draw do
match ':controller(/:action(/:id(.:format)))'
end
$ rails server
Запросы:
/ first маршруты к первому контроллеру
/ первый / второй маршруты до первого # секунды
/ первый / второй / третий маршруты до первой # секунды: id => 'третий'
Я начинаю думать, что такого рода автоматическое разрешение контроллеров пространства имен больше не подходит? Кто-нибудь нашел способ автоматически разрешать контроллеры пространства имен, подобные этому?
Спасибо!