可以说我有这个部分我正在尝试渲染
#layouts/_subheader.html.erb
<div class="subheader">
<%= yield %>
<%= yield :filters %>
</div>
当我在这样的视图中使用这个部分时
<%= render 'layouts/sub_header' do %>
<h2> Content For Yield </h2>
<% content_for :filters do %>
<h2> Content for Filters </h2>
<% end %>
<% end %>
我得到的 HTML 输出为
<div class="subheader">
<h2> Content For Yield </h2>
<h2> Content for Filters </h2>
</div>
这可以按预期工作,但是当我更改yield
部分标签的顺序时会出现问题
而不是上面的,如果我将部分重写为
#layouts/_subheader.html.erb
<div class="subheader">
<%= yield :filters %>
<%= yield %>
</div>
我得到的输出为
<div class="subheader">
<h2> Content For Yield </h2>
</div>
没有content_for :filters
被渲染。
我在这里做错了什么?这是正确的行为还是我做错了什么?
如果我必须让内容的内容yield :filters
出现在平原之前我该怎么办yield
编辑:-
我努力了
#layouts/_subheader.html.erb
<div class="subheader">
<%= content_for :filters %>
<%= yield %>
</div>
但它似乎也不起作用。