2011-05-17 19 views
13

我有一個管理員類(或模塊?)如何爲類或模塊中的所有控制器設置特定的佈局。 (導軌3)

class Admin::PostsController < ApplicationController 
    layout 'admin' 
    # controller methods... 
end 

class Admin::CommentsController < ApplicationController 
    layout 'admin' 
    # controller methods... 
end 

如何可以在一個地方定義佈局用於在管理類這些控制器根據以下控制器?我是否需要爲Admin類創建一個新文件並在那裏定義它?我有一種感覺,這是這樣的一些事情(嘗試但沒有工作)。

class Admin < ApplicationController 
layout 'admin' 
end 

當前所有作用於管理類的控制器位於'app/controllers/admin /'。如果我需要創建Admin類文件,它應該在該文件夾中還是在上面的文件夾中?或者這個解決方案超級簡單,我是否想過它?

回答

26

嘗試創建一個BaseController類,像這樣的,然後擴展您的其他控制器使用它:

class Admin::BaseController < ApplicationController 
    layout 'admin' 
end 

然後你會:

class Admin::PostsController < Admin::BaseController 
    # controller methods... 
end 
相關問題