Rails 4,Draper:经过身份验证的用户和视图

时间:2015-10-01 09:54:50

标签: ruby-on-rails-4 draper

<% if user_signed_in? %>
    <!-- lots of html/erb -->
<% end %>

这种观点模式似乎并未将问题分开。

我在我的应用程序中包含多个视图,其逻辑要求用户已登录,而是希望将问题分开并将&lt;%if user_signed_in? %GT;它所属的逻辑......这对我来说似乎是装饰者的东西(因此是Draper标签)。

这里的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

不确定理解你的问题,但试着回答。 首先要分离逻辑,你不需要在前面使用装饰器,它们可以用于另一件事。 要分离逻辑,您可以根据当前用户状态使用简单的部分,例如:

<% if user_signed_in? %>
    <%= render 'file_with_html_for_signed_user' %>
<% else %>
    <%= render 'file_with_html_for_non_signed_user' %>
<% end %>

您可以在layouts/application.html.erb

中声明此声明