Ruby Rails,如何停止在登录页面上呈现导航栏?

Ruby on Rails, how to stop navbar rendering on Log-In page?

在我的应用程序中,用户在进入主站点之前会直接登录。

我正在整个站点呈现导航栏的一部分,但我不想在登录页面上呈现导航栏。我不想为了防止这种情况而必须将导航栏代码复制并粘贴到所有视图中。

如果有一种方法可以让我停止在登录屏幕上显示导航栏,而不必删除部分导航栏,那就更干净了。

如何限制应用程序中一页的局部视图?

我正在使用 Devise。

我认为此 post 中不需要代码,但如果有帮助,我很乐意提供。谢谢

如果您正在使用 Devise 并且您在登录页面中,则没有已登录的用户。然后您可以使用 Devise 助手之一来实现您想要的。类似于:

if (not user_signed_in?) then
    render 'your_partial_with_the_navbar'
end

这里唯一的一点是,部分不会在没有用户登录的任何页面中呈现。

你也可以自己创造一个更好的帮手,结合你的其他条件user_signed_in?