2011-09-25 62 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年下線:)

相關問題