我有部分,有布局:
<%= render :partial => 'home/mobile/home', :layout => 'home/mobile/page', :locals => {:page => 'abc2'}%>
布局(page.html.erb)具有不同块的产量,例如:
<div data-role="header">
<%= yield :header %>
</div>
但是,从不使用此yield块,而主级布局文件确实按预期产生。
使用部分布局命名的content_for / yield块是不是不可能?有变通方法吗?
我希望继承 - content_for:header应首先在partial的布局中查找yield:标头,并且失败,即主布局文件。但这种情况并非如此。部分布局的yield:标头只是被忽略了。
答案 0 :(得分:3)
在与您类似的情况下,我通过调用yield
替换content_for
而没有阻止。所以在你的例子中它只是:
<div data-role="header">
<%= content_for :header %>
</div>
这对我有用。部分中的yield
并没有像你建议的那样涓涓细流可能是一个特征或一个错误 - 但这似乎仍然是它在Rails 4.1.8中的工作方式,3年后的下线:)
答案 1 :(得分:0)
解决方法是使用blocks将布局包装到辅助方法中(应该能够正确生成)。
您可能希望填写有关原始问题的错误。