Rails 4, Draper: аутентифицированный пользователь и представления
<% if user_signed_in? %>
<!-- lots of html/erb -->
<% end %>
Эта модель представления, кажется, не разделяет проблемы.
Я обернул несколько представлений в моем приложении логикой, требующей, чтобы пользователь вошел в систему, и вместо этого хотел бы разделить проблемы и поставить <% if user_signed_in? %> логика, в которой он находится... мне кажется, что это декоратор (отсюда и тег Draper).
Какова лучшая практика здесь?
1 ответ
Решение
Не уверен, понял ваш вопрос, но попробуйте ответить. Сначала для разделения логики вам не нужно использовать декораторы в первую очередь, они служат для чего-то другого. Для разделения логики вы можете использовать простые партиалы в зависимости от текущего состояния пользователя, например:
<% 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