Ruby on rails 如何使用应用程序装饰器进行站点范围的视图逻辑?

Ruby on rails 如何使用应用程序装饰器进行站点范围的视图逻辑?,ruby-on-rails,decorator,railscasts,draper,Ruby On Rails,Decorator,Railscasts,Draper,看了最近的一段视频后,我想我应该尝试重构一些东西,以利用Decorator模式。然后我马上就把自己搞糊涂了 我的应用程序布局文件中有视图逻辑,根据您是否登录(等待)提供登录或注销链接: <% if signed_in? %> <li><%= link_to "Sign out", signout_path, :method => :delete %></li> <% else %> <li><%= lin

看了最近的一段视频后,我想我应该尝试重构一些东西,以利用Decorator模式。然后我马上就把自己搞糊涂了

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

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

  • :删除%>
  • 似乎是将这种逻辑转化为装饰的完美人选。但这是应用程序范围内的一点视图逻辑,那么我在装饰什么呢?我想我想创建一个应用程序装饰器,但我不清楚如何实例化appdecorator对象以及如何引用它


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

    假设您有一个用户(或帐户、成员等)模型是否安全?如果是这样的话,我认为你心目中的装饰师是为你的用户模型设计的最好的装饰师。谢谢max,我认为你很合适。干杯