Написание вспомогательного метода для заголовков страниц - PullRequest
0 голосов
/ 03 января 2012

В настоящее время я интегрирую загрузчик Twitter.

В настоящее время мой макет приложения содержит мои флеш-сообщения прямо над выходом:

    <div class="container">

            <%= render 'layouts/header' %>

            <div class="content" role="main">
                <%= render :partial => 'shared/flash', :object => flash %>
                <%= yield %>
            </div>

            <%= render 'layouts/footer' %>


    </div> <!--! end of #container -->

Однако я также использую заголовки страниц загрузчика в моемотдельные просмотры

    <div class="page-header">
        <h1>Sign In <small>through one of these services:</small></h1>
    </div>

Я бы хотел, чтобы мои флеш-сообщения были ниже этих заголовков страниц, когда установлены заголовки страниц.Поэтому я думаю, что лучший способ сделать это - создать вспомогательный метод и отредактировать макет моего приложения так:

        <%= render 'layouts/header' %>

        <div class="content" role="main">
            <%= pageHeader %>
            <%= render :partial => 'shared/flash', :object => flash %>
            <%= yield %>
        </div>

Как мне написать помощника для этого.Будет ли лучший способ просто иметь переменные экземпляра для @page_header и @page_header_small в моем контроллере?Или есть лучший способ справиться с этой ситуацией?

1 Ответ

3 голосов
/ 03 января 2012

Вы можете использовать user_for в сочетании с yield.

В вашем макете вы можете поместить этот блок с заголовком над флэш-сообщением

<%= yield :page_header %>
<%= render :partial => 'shared/flash', :object => flash %>
<%= yield %>

и в вашем шаблоне для действия

<% content_for :page_header do %>
  <div class="page-header">
    <h1>Sign In <small>through one of these services:</small></h1>
  </div>
<% end %>

Проверьте это на Ruby Guides

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...