如何将应用程序装饰器用于站点范围的视图逻辑?

时间:2011-10-17 09:53:28

标签: ruby-on-rails decorator railscasts draper

在观看了最近的Railscasts episode on 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 %>

似乎是将逻辑转换为装饰器的完美候选者。但这是一个应用程序广泛的视图逻辑,所以我在装饰什么?我想我想创建一个应用程序装饰器,但我不清楚如何实例化app装饰器对象以及如何引用它。

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

0 个答案:

没有答案