我想通过application.html.erb管理根页面为标题栏插入部分_header.html.erb和部分_footer.html.erb 对于页脚栏和其他页面我想为侧栏输入另一个部分_sidebar.html.erb ...我该怎么办?补充工具栏不得出现在主页(root)中。 我必须在application.html.erb页面中为布局处理这个问题吗?
答案 0 :(得分: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>
我有一个布局,使用部分标题,导航栏和侧边栏。
答案 1 :(得分:0)
为此,我在LayoutsHelper中创建了一个帮助方法:
def sidebar(state)
@sidebar = state
end
您可以在不希望侧栏显示在<% sidebar false %>
上的页面的视图中调用该方法
然后在application.html.erb
中,您可以使用unless
来显示侧边栏,除非@sidebar变量设置为false:
<% unless @sidebar == false %>
<div class="sidebar">some stuff</div>
<% end %>
我确信有更好的方法可以做到,但这对我有用。
答案 2 :(得分:0)
要避免在主页中放置侧栏,请发出:
render :layout => false
在控制器中并将页眉和页脚部分添加到index.html.erb
文件中。