В приложении на Rails 3.1 у меня есть метод под названием user_logged_in?
от Devise, который я хочу использовать для выборочной визуализации части. Вот код в раскладках / application.html.erb:
<% if user_logged_in? %>
<%= render :partial => "home/statusbar" %>
<% end %>
Используется партиал от другого контроллера. Это частичное:
<div id="status_bar">
Signed in as <%= link_to current_user.name, edit_user_registration_path %>
</div>
Ошибка возникает в current_user.name
(неопределенный метод), потому что current_user
равен nil
. Я мог бы переместить проверку user_logged_in?
внутри партиала, но я думаю, что это было бы немного более эффективно, если бы оно было в виде.
Не могли бы вы указать мне, каковы лучшие практики или как я могу преодолеть неопределенную ошибку метода? Это нормально, что Rails проверяет код шаблона, даже если он находится в блоке if
, который завершается неудачей?