1

これと同等のことを行う方法はありますか:

<%= render partial: 'shared/outer'  do %>
    <%= render partial: 'shared/inner' %>
<% end %>

その結果

<div class="outer">
    <div class="inner">
    </div>
</div>

明らかに、渡されたパーシャルをレンダリングする場所を示すために、「shared/outer.html.erb」をマークアップする方法が必要です。

<div class="outer">
     <% render Here %>
</div>

私の特定のケースでは、すべてのページで共有されるヘッダーとサブヘッダーで構成される一般的なページ ヘッダーがありますが、そのヘッダーにページ固有のマークアップを渡して、タイトルとサブタイトルの下にレンダリングするオプションが必要です。

4

1 に答える 1

2

私は使用しますcontent_for

<% content_for :subheader do %>
    <%= render partial: 'shared/inner'  do %>
<% end %>

<%= render partial: 'shared/outer' %>

次に、 shared/outer で:

<div class="outer">
  <%= yield(:subheader) %>
</div>

ブロックに好きなものを入れて、content_for何度でも使用できます。キー名を変更するだけです (こちらsubheader)

于 2012-10-25T11:09:08.953 に答える