【发布时间】:2015-10-14 11:53:42
【问题描述】:
我有一个application.html.erb,有这个:
<!-- Truncated for Brevity -->
<body>
<%= content_for?(:content) ? yield(:content) : yield %>
</body>
那我还有一个布局family_tree.html.erb
看起来像这样:
<%= render template: "layouts/application" %>
<main id="view">
<title>Timeline!</title>
<%= render partial: "tree_header" %>
<% content_for :content do %>
<%= yield %>
<% end %>
</main>
那部分_tree_header.html.erb 看起来像这样:
<header class="profile-header">
<div class="wrapper">
<div class="profile-author">
<h2 class="center author-name">Martha Doe <a class="author-description-btn" href=""><i class="icon-list-2"></i></a></h2>
<h4 class="author-title">Aunt <i class="author-title-circ"></i><i class="author-title-circ"></i><i class="author-title-circ"></i></h4>
<!-- <div class="author-description">
<p>Nullam quis risus eget urna mollis ornare vel eu leo. Etiam porta sem malesuada magna mollis euismod.</p>
</div> -->
</div>
<nav class="profile-nav center">
<ul>
<li><%= link_to "Timeline", timeline_path %></li>
<li class="active"><a href="#">Family Tree</a></li>
</ul>
</nav>
</div>
</header>
这就是我希望它呈现的方式(这是静态 HTML):
但这就是它的渲染方式:
请注意,即使我在 content_for 块中的 yield 语句之前指定了 render partial: "tree_header",它似乎仍然在我的 layouts/family_tree.html.erb 中的 yield 之后呈现。
我该如何解决这个问题?
编辑 1
使用 amihule 的答案,我或多或少地解决了它,但现在我看到顶部和 tree_header 部分之间有一个空格。这个content_for 块会导致这个空间吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4