1

在观看了最近关于 Draper 的 Railscasts 集后,我想我应该尝试重构我的一些东西以利用装饰器模式。然后立即设法使自己感到困惑。

我的应用程序布局文件中有视图逻辑,它根据您是否(等待)您是否登录提供登录或注销链接:

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

似乎是将这种逻辑转移到装饰器中的完美候选者。但这是一个应用程序范围的视图逻辑,那么我在装饰什么?我想我想创建一个应用程序装饰器,但我不清楚如何实例化应用程序装饰器对象以及如何引用它。

Railscasts 集确实展示了如何创建应用程序装饰器,但它是从特定控制器(即不是应用程序控制器)中引用的。如何构建事物以便我可以从网站上的每个页面访问装饰视图逻辑?

4

0 回答 0