情况
因此,当我访问一个页面时,我希望能够将布局应用于部分(我想要三个具有相同布局的部分)。现在,我正在尝试使用以下命令执行此操作:
<%= render :partial => "shared/services/essay", :layout => "layouts/services/tab_pane", :locals => { :service => "essay" } %>
shared/services/essay
像这样的地方:
<% content_for :intro do %>
<p>
blah.
</p>
<% end %>
<% content_for :workflow do %>
<div>
blah.
</div>
<% end %>
<% content_for :value_prop do %>
<p>
blah.
</p>
<% end %>
和 `layouts/services/tab_pane' 就像:
<div class="tab-pane fade in" id=<%= service %> >
<%= yield :intro %>
<div class="span7 workflow">
<h3>Workflow</h3>
<%= yield :workflow %>
</div>
<div class="span5 value-proposition">
<h3>Our Value Proposition for You</h3>
<%= yield :value_prop %>
<div class="call-to-action">
<%= link_to "Action!", contact_path, class: "btn btn-large btn-warning" %>
</div>
</div>
</div>
问题
当我加载它时,我只得到布局 HTML。没有任何内容通过。所以本质上,收益率并没有吸引内容或其他东西。
有人可以帮忙吗?谢谢!
我尝试过的事情
如果我尝试 Ruby Guides 中提到的嵌套布局(添加...
<%= render :template => "layouts/services/tab_pane", :locals => { :service => "essay" } %>
到我的部分并进行所有正确的名称更改),我的第二个部分包含第一个部分的内容,而我的第三个部分包含第一个和第二个的内容。所以我的第二部分将包含每个部分的 2 blah,而我的第三部分将包含每个部分的 3 blah。谢谢!
更新:
问题现已解决(感谢迈克尔),但现在我想我想知道在处理此类问题时最佳实践是什么。我是否应该在未来避免这样的事情,只担心为整个页面提供模板/布局而不是页面内的部分?谢谢!