我正在使用Devise来处理用户身份验证,并希望我的导航栏只有在用户注册/登录时才会呈现。我不希望它在我的目标网页上显示。在登录页面时,我能够让它无法渲染:
<%= render 'shared/navigation' unless current_page?(user_session_url) %>
但它不需要多个URL。
有什么建议吗?
答案 0 :(得分:3)
你可以做那样的事情
<%= render 'shared/navigation' if current_user %>
Devise为您提供current_user
帮助,如果用户已注册或登录,将返回用户对象,如果没有,则返回false
。
或者您也可以使用user_signed_in?
方法,如果用户已登录,则会将布尔值返回为true
,如果不是,则返回false
:
<%= render 'shared/navigation' if user_signed_in? %>