2012-01-05 73 views
1

我是新來的rails,並試圖開發一個系統,將有幾個不同類型的用戶。我試圖使用命名空間來分隔這些區域,但我希望共享這些模型。我創建了一個用戶對象,我希望能夠從管理員名稱空間進行編輯。我的腳手架管理員:: UserController中,並確定了路線爲:具有重複資源名稱的名稱空間

namespace :admin do 
    resources :users 
end 

root :to => "home#index" 

當我去admin/users它顯示正常,但點擊「創建用戶」給了我一個NoMethodError,稱它無法找到路徑users_path。搜索後,我意識到我需要我的routes.rb更新到:

resources :users 

namespace :admin do 
    resources :users 
end 

root :to => "home#index" 

現在我能到admin/users/new形式,但是當我將它張貼試圖返回到/users。我的兩個問題是:1.我該如何做這項工作? 2.我是否正在嘗試以這種方式使用命名空間?

回答

2

您有爲/admin/users/users產生的路線。如果您要使用Admin::UsersController,請使用admin_users_path,如果您希望在您的表單中使用UsersController,請使用users_path

如果您想知道生成的路由的名稱是什麼,我還想建議您使用rake routes命令。