2012-06-05 46 views
0

我想通過application.html.erb管理根頁面,爲頁眉欄添加部分_header.html.erb,爲頁腳欄添加部分_footer.html.erb ,在其他頁面中,我想爲邊欄輸入另一個部分_sidebar.html.erb ...我該怎麼辦?側欄不能出現在主頁(根目錄)中。 我必須在application.html.erb頁面中處理這個佈局問題?在軌道上使用紅寶石部分

回答

0

是的,你必須使用佈局來處理這個問題。默認的是application.html.erb。

這是你的問題的一個例子:

<!DOCTYPE html> 
<html> 
    <%= render :partial => 'layouts/common_header' %> 
    <body> 
    <%= render :partial => 'layouts/top_menu' %> 
    <div id='container-fluid'> 
     <div id='sidebar'> 
     <%= render :partial => 'layouts/sidebar' %> 
     </div> 
     <div id='content'> 
     <%= yield %> 
     </div> 
    </div> 
    </body> 
</html> 

我有一個使用諧音的標題,導航欄,側邊欄的佈局。

+0

側邊欄是否顯示在您的主頁上?我的主頁中的 –

+0

不應存在...側邊欄僅適用於與主頁不同的其他頁面 –

+0

請查看以下內容:http://guides.rubyonrails.org/layouts_and_rendering.html#using-the -content_for-方法 – MurifoX

0

要做到這一點,我在做LayoutsHelper一個輔助方法,像這樣:

def sidebar(state) 
    @sidebar = state 
end 

可以撥打網頁上的觀點,方法,你不想讓側邊欄showup上<% sidebar false %>

,然後在application.html.erb,您可以使用unless顯示側邊欄,除非@sidebar變量設置爲false:

<% unless @sidebar == false %> 
    <div class="sidebar">some stuff</div> 
<% end %> 

我相信有更好的方法可以做到,但這對我很有用。

0

爲避免你的側邊欄的主網頁,問題:

render :layout => false 
控制器

,並添加頁眉和頁腳諧音您index.html.erb文件。