Как я могу объединить объявления маршрутов (поддомен или токен)? - PullRequest
6 голосов
/ 25 апреля 2011

У меня есть модель Model, доступ к которой можно получить разными способами: по поддомену или токену

У меня есть следующие маршруты

resources :model, :constraints => {:model_id => /[a-zA-Z0-9]{4}/} do
  ... (nested resources...)
end
resources :model, :constraints => {:subdomain => /.+/} do
  ... (same as above: nested resources...)
end

Так что в настоящее время мне нужно продублировать все маршруты для двух случаев.

Есть ли способ объявить это только один раз?

1 Ответ

4 голосов
/ 25 апреля 2011
def nested_routes
  get :some_route
  post :some route
  resources :some_resources
end

resources :model, :constraints => {:model_id => /[a-zA-Z0-9]{4}/} do
  nested_routes
end

resources :model, :constraints => {:subdomain => /.+/} do
  nested_routes
end

Тема по теме: Rails 3 Маршруты: DRY-члены

...