2011-09-23 77 views
0

我的管理部分的結構是這樣的:的Rails 3 - 路由的管理部分

controlers -> admin -> admin_controllers... 
views -> admin -> users -> data 
views -> admin -> settings -> data 

routes樣子:

resources :users, :user_sessions 
match 'login' => 'user_sessions#new', :as => :login 
match 'logout' => 'user_sessions#destroy', :as => :logout 

編輯

namespace :admin do 
    ...  
    resources :users, :user_sessions 
    match 'login' => 'user_sessions#new', :as => :login 
    match 'logout' => 'user_sessions#destroy', :as => :logout 
    end 

但如果我設置了瀏覽器url地址admin/login,那麼我將收到有關缺少模板的錯誤(特別是Missing template user_sessions/new)。這怎麼可能?我忘了什麼?

感謝

回答

0

使用命名空間,你必須使用這樣的瑪:

namespace :admin do 
    resources :users, :user_sessions 
end 

所有的意見應該在應用程序/視圖/管理/,這樣

app/views/admin/users/new.html.erb 

的API的細節在這裏:http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

+0

這就是奇怪的 - 我擁有它。 – user1946705

+0

什麼是您的管理員的控制器名稱?你遵循Ruby的名稱約定:** Admin :: UsersController Anatoly

+0

實際上,您最好使用自己的Admin的應用程序控制器來嵌套範圍控制器 – Anatoly