2
我有以下的路线,这使得对于网址像/:username/:project_name
Rails的嵌套的资源和:路径=>“/”
resources :users, :path => "/" do
resources :projects, :path => "/"
end
的问题是,/:username/edit
不起作用,因为它正在寻找项目与'编辑'的名称。
任何方法?谢谢!
我有以下的路线,这使得对于网址像/:username/:project_name
Rails的嵌套的资源和:路径=>“/”
resources :users, :path => "/" do
resources :projects, :path => "/"
end
的问题是,/:username/edit
不起作用,因为它正在寻找项目与'编辑'的名称。
任何方法?谢谢!
这样做的几种方法...
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,因为它是清洁的,并提供了一目了然的路线更多的知识。
你试图完成什么网址结构? – sunkencity 2012-01-12 18:35:29
正如我上面写的,我想要像'/用户名/ project_name'和'/用户名/ project_name_2'的网址。问题是这不允许'/用户名/编辑'。 – 2012-01-12 18:36:49
您是否尝试“手动”添加此路线?我会在资源路径前添加一个匹配“/ username/edit”=>“users#edit”。顺便说一下,这个路由设置不是一个好主意。这将导致更多的问题... – phoet 2012-01-12 21:34:16