2010-02-27 63 views
5

這是在我的理解,我可以通過將指定某些控制器的佈局在Ruby on Rails的

layout 'mylayout' 

在控制文件中指定的控制器的佈局。我進一步明白,我可以指定佈局將被調用的某些動作,其格式爲:only:except。 佈局'mylayout',:: => [:指數,新]

我想知道是,我可以把layout 'mylayout'在我的應用程序控制器,並指定要渲染只能用於一些特定的控制器像:only_controller:except_controller,還是我來指定layout 'mylayout'我希望它被渲染的每個控制器中?

原因是我有幾個控制器負責我網站的管理部分,我想爲他們設置不同的佈局。

回答

2

管理員控制器是否繼承AdminController並創建admin.html.erb佈局。這樣,您的管理部分的所有控制器都將具有此佈局。

+0

但我不需要一個實際的物理管理控制器 - 它不存在。如果我創建它 - 是否必須有數據庫後端? – 2010-02-27 18:15:05

+0

控制器與數據庫無關:)沒有辦法將它想象爲管理控制器的抽象基類。它甚至會讓事情變得更清楚,因爲當你看到一個控制器從'AdminController'繼承時,你會立即知道它是來自管理部分的控制器。另外,很可能你會需要一些普通的'before_filter',而一個基類將成爲他們的理想場所。 – 2010-02-27 19:31:48

+0

非常感謝你! – 2010-03-01 02:47:01