所以,我是初学者,我知道在导轨中有layout
。
但我想要一个许多网页将使用的共享部分,包括除mvc
之外的所有v
。就像.Net webform中的母版页一样。
例如。每个网站都有自己可以管理的页面,这个页面将使用一个共同的左侧边栏,它由几个菜单组成。
我怎么能意识到这一点?
答案 0 :(得分:1)
你真的应该阅读Rails layouts and rendering guide以了解在rails中的渲染。
Rails提供了用于渲染视图的布局,部分和content_for块。
一个示例主要布局,用于说明部分和动态content_for部分的使用:
# layouts/application.html.erb
<html>
<head>
<%= yield :head %>
</head>
<body>
<ul class="breadcrumbs">
<%= yield :breadcrumbs %>
</ul>
<div class="sidebar">
<%= render 'sidebar' %>
</div>
<div id="content">
<%= yield %>
</div>
</body>
</html>
主要布局侧栏部分:
# layouts/_sidebar.html.erb
<ul class="sidebar">
<li><%= link_to 'Posts', posts_path %></li>
<li><%= link_to 'My Profile', current_user %></li>
</ul>
帖子控制器的show
操作视图模板,用于呈现面包屑的动态布局内容:
# posts/show.html.erb
<% content_for :breadcrumbs do %>
<li><%= link_to 'Posts', posts_path %></li>
<li><%= @post.title %></li>
<% end %>
<h1><%= @post.title %></h1>
<p><%= @post.content %></p>
...
答案 1 :(得分:0)
答案 2 :(得分:0)
您的应用程序总体布局在./app/views/layouts/application.html.erb中定义
根据建议,请查看有关%yield%的链接并阅读 http://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield
享受