簡體   English   中英

rails部分的布局與命名的yield - 為什么yield塊從未使用過?

[英]rails partial's layouts with named yield - why is yield block never used?

我有一個部分,有一個布局:

<%= 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:標頭被簡單地忽略。

在與您類似的情況下,我通過調用content_for替換了yield而沒有塊。 所以在你的例子中它將是簡單的:

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

這對我有用。 部分內容的yield沒有涓滴,因為你的建議可能是一個功能或一個錯誤 - 但這似乎仍然是它在Rails 4.1.8中工作的方式,3年下線:)

解決方法是使用 (應該能夠正確生成)將布局包裝到輔助方法中。

您可能想要填寫有關原始問題的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM