2011-12-13 33 views
0

我有一個的Rails 3.1的應用程序,使用模板繼承和偉大工程:繼承另一個瀏覽局部模板

views 
- application 
-- _header.html.haml 
- special 
-- _header.html.haml 

在上面的例子中,render 'header'取頭部分從application所有頁面,除了下special這些意見。在rails 3.1中的標準模板繼承

我的問題是,假設我有另一組想要使用special標題而不是application的標題?我可以在also_special文件夾下複製_header文件,但那不太乾!

我該怎麼去使用special的部分從special以外的視圖?

編輯:

揉,我使用相同的佈局的一切。 IE瀏覽器。我有一個:layouts/application.html.haml文件,指定render 'header'

回答

0

您可以添加一個條件,評估你的控制器,例如:

<% if params[:controller]=="forums" %> 
    <%= render '/special/header' %> 
<% else %> 
    <%= render 'header' %> 
<% end %> 

希望這有助於。

+0

對不起,我應該提到,我在兩個版本中都使用相同的版式...我在這個問題中提供了更多細節。 –

+0

@GregJ我編輯了答案。 – JCorcuera

+0

謝謝@JCorcuera,我希望能有一個更清潔的解決方案,但我認爲你是唯一的解決方案。 –