Und*_*ion 5 layout ruby-on-rails view partial ruby-on-rails-4
我有一个非常简单的要求 - 我有一个由标题和正文组成的布局。它是页面的子布局,而不是页面本身。
此布局在多个页面中重复,并且其周围的结构可能会发生变化。所以我希望能够将标头的内容和正文的内容与包含它的结构分开。
我的第一次尝试是使用渲染部分作为布局,使用命名收益来渲染标题和正文:
<header class="Resource-header">
<%= yield :resource_header %>
</header>
<div class="Resource-body">
<%= yield :resource_body %>
</div>
Run Code Online (Sandbox Code Playgroud)
然后从我的模板中渲染它,如下所示:
<%= render layout: 'admin/resource' do %>
<% content_for :resource_header do %>
<% end %>
<% content_for :resource_body do %>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
然而,这什么也没有呈现。
我开始研究事情的顺序,发现如果在调用部分之前声明 content_for 块,则这种方法确实有效:
<% content_for :resource_header do %>
<% end %>
<% content_for :resource_body do %>
<% end %>
<%= render layout: 'admin/resource' do %><% end %>
Run Code Online (Sandbox Code Playgroud)
然而,这感觉非常hacky。似乎是全局范围的,并且块和部分渲染content_for之间没有关联。content_for
那么我实现这一目标的正确方法是什么?
| 归档时间: |
|
| 查看次数: |
927 次 |
| 最近记录: |