我有以下路线,允许使用/:username/:project_name
resources :users, :path => "/" do
resources :projects, :path => "/"
end
问题是/:username/edit
不起作用,因为它正在寻找名为“edit”的项目。
有什么方法吗?谢谢!
答案 0 :(得分:3)
有两种方法可以做到这一点......
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,因为它更清洁,并且一目了然地提供了有关路线的更多知识。