12

レイアウトのある部分があります:

<%= 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 は最初にパーシャルのレイアウトで yield :header を探し、それが失敗するとメインレイアウトファイルを探す必要があります。しかし、そうではありません。部分レイアウトの yield :header は単純に無視されます。

4

2 に答える 2

0

回避策は、ブロックを使用してレイアウトをヘルパー メソッドにラップすることです(正しく生成されるはずです)。

元の問題についてバグを報告することをお勧めします。

于 2011-09-25T20:41:01.697 に答える