我对嵌套布局没有什么问题。在我的网站上,我只需要为管理员制作网站的一个单独部分。
我的application.html.erb
文件中有这个:
<body>
<%= render 'layouts/header' %>
<div class="container">
<%= yield %>
<%= render 'layouts/footer' %>
</div>
</body>
我想知道现在如何制作另一个这样的模板以插入其中,<%= yield %>
因为对于管理员部分,我再次需要站点的固定部分,例如header
主footer
布局。而不是header
和footer
我将有两个菜单。我想<%= yield %>
填充新模板,该模板顶部有菜单,新模板将<%= yield %>
填充来自管理控制器的操作。因此,菜单将始终位于顶部。
我做了一个部分菜单views/admins/_menu.html.erb
:
<div>
<div>
<div class="container">
<ul>
<li><%= link_to "Action1", '#' %></li>
<li><%= link_to "Action2", '#' %></li>
<li><%= link_to "Action3", '#' %></li>
</ul>
</div>
</div>
</div>
我的新布局是layouts/sublayouts/admin.html.erb
:
<%= render 'admins/menu' %>
<%= yield %>
目前的替代方法是views/admins/_menu.html.erb
在顶部的每个视图中渲染,但这对我来说并不是一个好的解决方案。
常规站点将具有以下结构:
Header/Menu
|
Container
|Content
Footer
管理站点将具有以下结构:
Header/Menu
|
Container
|Content
|Admin Menu
|Admin Content
|
Footer
实现这一目标的最佳方法是什么?