Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在rubyonrails中使用partial_Ruby On Rails_Ruby_Partial - Fatal编程技术网

Ruby on rails 在rubyonrails中使用partial

Ruby on rails 在rubyonrails中使用partial,ruby-on-rails,ruby,partial,Ruby On Rails,Ruby,Partial,我想通过application.html.erb管理根页面,以插入页眉栏的部分_header.html.erb和部分_footer.html.erb 对于页脚栏和其他页面,我想为侧栏输入另一部分_sidebar.html.erb…我该怎么做?侧边栏不得出现在主页(根目录)中。 我必须在application.html.erb页面的布局中处理此问题?是的,您必须使用布局来处理此问题。默认值是application.html.erb 以下是您的问题示例: <!DOCTYPE html>

我想通过application.html.erb管理根页面,以插入页眉栏的部分_header.html.erb和部分_footer.html.erb 对于页脚栏和其他页面,我想为侧栏输入另一部分_sidebar.html.erb…我该怎么做?侧边栏不得出现在主页(根目录)中。
我必须在application.html.erb页面的布局中处理此问题?

是的,您必须使用布局来处理此问题。默认值是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>

“布局/公共_标题”%>
“布局/顶部菜单”%>
'布局/侧栏'%>

我有一个布局,它使用partials作为标题、导航栏和边栏。

为此,我在LayoutsHelper中创建了一个助手方法,如下所示:

def sidebar(state)
    @sidebar = state
end
您可以在不希望侧边栏显示在

然后在
application.html.erb
中,您可以使用
除非
显示边栏,除非@sidebar变量设置为false:

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

一些东西

我相信有更好的方法可以做到这一点,但这对我来说很有效。

为了避免侧边栏出现在主页上,发布:

render :layout => false

在控制器中,将页眉和页脚部分添加到您的
index.html.erb
文件中。

侧边栏是否存在于您的主页中?在我的主页中不应存在……侧边栏仅存在于与主页不同的其他页面中请查看以下内容: