2012-07-03 123 views
16

我有一個家庭控制器和一個新聞控制器。我希望這兩個控制器都使用application.html.erb佈局文件,除此之外,對於家庭,使用home佈局和新聞,使用新聞佈局。然後渲染一個特定的視圖。這可能在鐵軌?每個控制器的導軌佈局

換句話說,我不想指定每個視圖的佈局,但是每個控制器都從application.html.erb佈局繼承。

我想要做的是刪除添加頂部導航欄,並在每個佈局文件中包含javascript/css的冗餘。我寧願將它包含在一個文件中,並使用另一個佈局執行特定於控制器的佈局,然後再渲染視圖。

感謝

+0

我認爲你可以從佈局目錄中移除home.html.erb&news.html.erb文件&application.html.erb將被使用默認。我認爲你正在遭受使用rails scaffolding(默認生成佈局文件)的負面影響之一。 – Brian

回答

31

你可以告訴控制器使用特定的佈局,如

class HomeController < ApplicationController 
    layout 'home' 
end 

class NewsController < ApplicationController 
    layout 'news' 
end 

這些將期望在應用程序/視圖/佈局/ home.html.erb等

+0

是的,但我希望它使用應用程序佈局,然後生成庫存佈局,然後呈現特定的視圖。 – 0xSina