2011-09-25 98 views
11

我有一个局部的,与布局:命名yield的rails局部布局 - 为什么yield块从不使用?

<%= render :partial => 'home/mobile/home', :layout => 'home/mobile/page', :locals => {:page => 'abc2'}%> 

布局(page.html.erb)具有用于不同块的产量,如:

<div data-role="header"> 
    <%= yield :header %> 
</div> 

然而,该产率块是从不使用,而主层布局文件确实屈服,如人们所期望的。

是不可能使用命名的content_for/yield块与部分的布局?有解决方法吗?

我期望继承 - content_for:header应该首先在partial的布局中查找yield:header,然后使主布局文件失败。但这种情况并非如此。部分布局的yield:header被忽略。

回答

0

解决方法是使用blocks(它应该能够正确输出)将您的布局封装到辅助方法中。

您可能想要提供有关原始问题的错误。

+0

想你会必须破解这个有点让它与轨道3的工作 – numbers1311407

2

在与您的情况类似的情况下,我用content_for的电话代替yield,没有阻止。所以在你的例子中,它将是简单的:

<div data-role="header"> 
    <%= content_for :header %> 
</div> 

这对我有效。那yield s在部分不会涓涓细流,因为你建议可能是一个功能或错误 - 但这仍然是它是如何工作在Rails 4.1.8,3年下线:)

相关问题