В приложении Rails 3.1 у меня есть метод, называемый user_logged_in?
из Devise, который я хочу использовать для частичного выборочного отображения. Вот код в layouts/application.html.erb:Rails 3, только рендеринг частично, если пользователь зарегистрирован
<% 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
, который терпит неудачу?
Да, это так. Он также работает, если я использую user_signed_in ?. Совершенно неправильный метод. Извините и спасибо! – joseph