Это проблема дизайна, которую я пытаюсь выяснить. Я объясню, что я имею сейчас, и то, что я хотел бы иметь:Rails - от ресурса RESTFul до настраиваемых маршрутов
1. Фактическая конструкция
У меня есть определен resources :users
и таким образом я определил различные действия, такие как новые, создать и обновить в контроллере Users. Это работает как ожидается, следуя URL-адресам нравится пользователям/новым, пользователям /: id и т. Д. Теперь я хочу сделать один шаг вперед, и я хочу, чтобы сделать следующее ...
2. Что я ищу
Я хочу, чтобы иметь возможность иметь маршрут как это:
users/overview/profile - This should be equivalent to `users/:id` (show action)
users/overview/network - This should be equivalent to users/:id/network (list of networks for that user)
3. Моя идея
Моя первая идея состояла в том, чтобы определить, что-то вроде этого:
resource :users do
namespace :overview do
resource :networks
end
end
Но это будет работать для URL-адресов, как: пользователей /: ID/обзор/сети, и я не хочу, идентификатор пользователя будет показан в URL , Итак, мои вопросы:
1 - Как я могу общаться с пользователями/обзором/сетями вместо пользователей /: id/overview/networks, предполагая, что я могу получить идентификатор пользователя из сеанса.
2 - Как я могу управлять такими URL-адресами: users/overview/profile
, где фактически профиль - это только метод show users/:id
Сейчас я определил все действия в пользовательском контроллере, и все работает нормально (новое, удалить , создавать, обновлять ...) Я просто не знаю, как перейти в это «пространство имен» обзор/профиль
Спасибо за ответ, но как насчет моего второго вопроса? –
Также обратите внимание, что /users/:user_id/overview/networks(.:format) - я не хочу, чтобы: user_id там ... –
Посмотрите http://stackoverflow.com/questions/2837102/changing -The-ID-параметр-в-рельсы-маршрутизация – rajibchowdhury