ヘッダー バーに部分的な _header.html.erb を挿入し、フッター バーに部分的な _footer.html.erb を挿入するために、application.html.erb を介してルート ページを管理したいと考えていました。サイドバーの _sidebar.html.erb ...どうすればいいですか? サイドバーは、ホームページ (ルート) に存在してはなりません。application.html.erb ページのレイアウトでこの問題を処理する必要がありますか?
1369 次
3 に答える
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>
ヘッダー、ナビゲーションバー、サイドバーにパーシャルを使用するレイアウトがあります。
于 2012-06-05T18:48:57.597 に答える
0
これを行うために、次のように LayoutsHelper でヘルパー メソッドを作成しました。
def sidebar(state)
@sidebar = state
end
サイドバーを表示させたくないページのビューでそのメソッドを呼び出すことができます<% sidebar false %>
次に、 @sidebar 変数が false に設定されていない限り、 を使用してサイドバーを表示application.html.erb
できます。unless
<% unless @sidebar == false %>
<div class="sidebar">some stuff</div>
<% end %>
それを行うためのより良い方法があると確信していますが、それは私にとってはうまくいきました。
于 2012-06-05T18:57:04.333 に答える
0
メインページにサイドバーが表示されないようにするには、次を発行します。
render :layout => false
コントローラーで、ヘッダーとフッターのパーシャルをindex.html.erb
ファイルに追加します。
于 2012-06-05T18:57:04.930 に答える