Rails вложенные ресурсы и: путь => "/" - PullRequest
2 голосов
/ 12 января 2012

У меня есть следующие маршруты, которые позволяют URL-адреса, такие как /:username/:project_name

resources :users, :path => "/" do
  resources :projects, :path => "/"
end

Проблема в том, что /:username/edit не работает, потому что он ищет проект с именем 'edit'.

Как-нибудь обойти это? Спасибо!

1 Ответ

3 голосов
/ 13 января 2012

Пара способов сделать это ...

1) Даст вам маршруты типа /:user_id/:id (который вы хотели)

match '/:user_id/edit', :to => 'users#edit', :as => :edit_user
resources :users, :except => [:edit], :path => "/" do
  resources :projects, :path => "/"
end

2) Даст вам маршруты типа /:user_id/projects/:id (которых, кажется, вы избегаете)

resources :users, :path => "/" do
  resources :projects
end

Лично я предпочитаю №2, поскольку он чище и дает больше знаний о маршруте.

...