Rails4、Draper:经过身份验证的用户和视图
Rails 4, Draper: authenticated user and views
<% if user_signed_in? %>
<!-- lots of html/erb -->
<% end %>
这个视图模式似乎没有分离关注点。
我在我的应用程序中包装了几个视图,逻辑要求用户登录,而是想分离关注点并放置 <% if user_signed_in? %> 它所属的逻辑...这对我来说似乎是装饰器的东西(因此是 Draper 标签)。
此处的最佳做法是什么?
不确定是否理解您的问题,但请尝试回答。
首先,为了分离逻辑,您不需要在所有逻辑前面使用装饰器,它们用于另一件事。
要分离逻辑,您可以根据当前用户状态使用简单的部分,例如:
<% 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
中声明此声明
<% if user_signed_in? %>
<!-- lots of html/erb -->
<% end %>
这个视图模式似乎没有分离关注点。
我在我的应用程序中包装了几个视图,逻辑要求用户登录,而是想分离关注点并放置 <% if user_signed_in? %> 它所属的逻辑...这对我来说似乎是装饰器的东西(因此是 Draper 标签)。
此处的最佳做法是什么?
不确定是否理解您的问题,但请尝试回答。 首先,为了分离逻辑,您不需要在所有逻辑前面使用装饰器,它们用于另一件事。 要分离逻辑,您可以根据当前用户状态使用简单的部分,例如:
<% 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