Как я могу использовать декоратор приложения для логики просмотра всего сайта?

Посмотрев недавний эпизод Railscasts на Draper, я подумал, что мне нужно реорганизовать некоторые из моих вещей, чтобы использовать паттерн Decorator. И тут моментально удалось запутаться.

В моем файле макета приложения есть логика просмотра, которая предоставляет ссылки для входа или выхода из системы в зависимости от того, вошли ли вы (дождитесь этого) или нет:

<% if signed_in? %>
  <li><%= link_to "Sign out", signout_path, :method => :delete %></li>
<% else %>
  <li><%= link_to "Sign in", signin_path %></li>
<% end %>

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

Эпизод Railscasts действительно показывает, как создать декоратор приложения, но на него ссылаются из определенного контроллера (то есть не контроллера приложения). Как мне структурировать вещи так, чтобы я мог получить доступ к логике декорированного представления на каждой странице сайта?

0 ответов

Другие вопросы по тегам