изменить URL без изменения имени ресурса - PullRequest
38 голосов
/ 22 июля 2011

Я создаю веб-сайт для кролика-фермера (давайте представим). Этот человек пристально следит за своими кроликами и хочет, чтобы все они были классифицированы. Поэтому я построил ему RabbitCategoriesController и добавил эту строку в мои маршруты.rb

resources :rabbit_categories

URL отображаются как rabbit_categories, rabbit_categoriew/new и т. Д.

Что если я хочу, чтобы URL-адреса выглядели как rabits/categories rabits/categories/new? Это не вложенный ресурс, я просто хочу изменить внешний вид URL.

Конечно, если бы ресурсы назывались "категориями", я мог бы сделать

namespace :rabbits do
  resources :categories
end

Можно ли как-нибудь написать это, но сказать ему использовать RabbitCategoriesController вместо Rabbits :: CategoriesController?

1 Ответ

71 голосов
/ 22 июля 2011

вы пробовали это, должно работать

resources :rabbit_categories, :path => "rabbits/categories"

Подробнее см. Маршрутизация с внешней стороны .

...