0

ヘッダー、サブヘッダー、および場合によっては1つ以上のボタンを含むパーシャルがあります。多くの異なるページで使用されています。多くの場合、ページにはボタンが必要ないため、ヘッダーとオプションのサブヘッダーをパーシャルに渡すだけです。ただし、ページに1つ以上のボタンが必要な場合があり、任意の数のボタンを渡すことができるようにする唯一の方法は、content_forを使用することです。私の部分は次のようになります:

<% if defined? page_title %>
    <header class="pageHeader">
        <div class="page-details">
            <h3><%= page_title %></h3>
            <% if defined? page_subtitle %>
                <p><%= page_subtitle %></p>
            <% end %>
        </div>
        <ul class="crud-menu nav-pills">
            <%= content_for :page_header_buttons %>
        </ul>
    </header>
<% end %>

厄介なcontent_forのこの使用。リストアイテム/ボタンをこのパーシャルに渡す方法はありますか?この状況に他にどのように対処できますか?

4

1 に答える 1

1

この部分をレイアウトに変換できます。

<% if defined? page_title %>
    <header class="pageHeader">
        <div class="page-details">
             <h3><%= page_title %></h3>
            <% if defined? page_subtitle %>
                 <p><%= page_subtitle %></p>
            <% end %>
        </div>
        <ul class="crud-menu nav-pills">
            <%= yield %>
        </ul>
    </header>
<% end %>

そして、あなたはそれをそのようにレンダリングするでしょう:

<%= render layout: "your_partial_above", locals: { page_title: "page title } do %>
    <%= render "partial_with_your_buttons" %>
<% end %>
于 2012-08-21T17:38:18.970 に答える