Как я могу использовать декоратор приложения для логики просмотра всего сайта? - PullRequest
1 голос
/ 17 октября 2011

После просмотра недавнего эпизода 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 показано, как создать декоратор приложения, но на него ссылаютсяизнутри определенного контроллера (то есть не контроллера приложения).Как мне структурировать вещи так, чтобы я мог получить доступ к логике декорированного представления на каждой странице сайта?

...