2012-02-05 18 views
0

我的路線是這樣的:如何調整嵌套航線

namespace :admin do 
    resources :users, :only => :index do 
    resources :skills, :only => :index 
    end 
end 
resources :skills 

在這種情況下,我得到:

admin_user_skills GET /admin/users/:user_id/skills(.:format) 
{:action=>"index", :controller=>"admin/skills"} 

如何改變,以嵌套的路徑指向SkillsController而不是管理員:: SkillsController?我想有這樣的:

admin_user_skills GET /admin/users/:user_id/skills(.:format) 
{:action=>"index", :controller=>"skills"} 

有趣的事情 - 如果我們沒有聯繫:: SkillsController,它會自動使用SkillsController,但只有在發展。

回答

1

在路由中使用namespace意味着有「命名空間」控制器的特殊目錄,管理員在你的情況下。但是,如果您使用scope而不是您所需的:

scope '/admin' do 
    resources :users, :only => :index do 
    resources :skills, :only => :index 
    end 
end