仅在登录/注册后呈现导航栏

时间:2017-02-07 16:01:44

标签: ruby-on-rails

我正在使用Devise来处理用户身份验证,并希望我的导航栏只有在用户注册/登录时才会呈现。我不希望它在我的目标网页上显示。在登录页面时,我能够让它无法渲染:

<%= render 'shared/navigation' unless current_page?(user_session_url) %> 

但它不需要多个URL。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

你可以做那样的事情

<%= render 'shared/navigation' if current_user %>

Devise为您提供current_user帮助,如果用户已注册或登录,将返回用户对象,如果没有,则返回false

或者您也可以使用user_signed_in?方法,如果用户已登录,则会将布尔值返回为true,如果不是,则返回false

<%= render 'shared/navigation' if user_signed_in? %>