在rails中提供了namespace的功能,但是如何實現namespace的layout呢?
假如這樣一個場景:
routes.rb中這樣定義:
map.namespace :admin do |admin|
    admin.resources :articles
    admin.resources :tags
end

需要對articles,tags提供一個統一的后臺管理界面,根據rails中的layout功能,猜想是否會有layouts/admin.html.erb這樣一個針對namespace的模板頁,但嘗試后發現根據不行,下面是google到的一個問題:

Do controllers in namespaces somehow get their own default layout
file
?  For instance, the UsersController will use layouts/users.rhtml
if it exists.  Is there something similar for Admin::UsersController
or will it 
default to the same file?  I tried layouts/
admin_users.rhtml and layouts
/admin/users.rhtml with no luck.

他也嘗試了同樣的問題,layouts/users.rhtml, layouts/admin_users.rhtml, layouts/admin/users.rhtml,都是no luck.

這里可以使用一個取巧的方法,在controller中可以通過layout 方法來指定使用哪個模板頁,這里可以寫一個BaseController:
class Admin::BaseController < ApplicationController
  layout 
'admin'
end

在BaseController中指定模板頁為admin.html.erb

然后將articles和tags的Controller都改為繼承自BaseController。