我如何在.NET中实现Rails中的母版页

时间:2013-09-12 03:47:22

标签: ruby-on-rails

所以,我是初学者,我知道在导轨中有layout

但我想要一个许多网页将使用的共享部分,包括除mvc之外的所有v 。就像.Net webform中的母版页一样。

例如。每个网站都有自己可以管理的页面,这个页面将使用一个共同的左侧边栏,它由几个菜单组成。

我怎么能意识到这一点?

3 个答案:

答案 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)

您可以使用嵌套布局和部分http://guides.rubyonrails.org/layouts_and_rendering.html#using-nested-layouts

来实现此目的

答案 2 :(得分:0)

您的应用程序总体布局在./app/views/layouts/application.html.erb中定义

根据建议,请查看有关%yield%的链接并阅读 http://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield

享受