Rails 3 против Rails 2 "дикий контроллер" маршрутизация - PullRequest
1 голос
/ 04 февраля 2011

Я пытаюсь, чтобы мой проект 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 => 'третий'

Я начинаю думать, что такого рода автоматическое разрешение контроллеров пространства имен больше не подходит? Кто-нибудь нашел способ автоматически разрешать контроллеры пространства имен, подобные этому?

Спасибо!

1 Ответ

1 голос
/ 04 февраля 2011

Попробуйте это:

Pathtest::Application.routes.draw do
  resources :first do
    resources :second do
      resources :third
    end
  end
end
...