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

Co2*_*Co2 4 ruby-on-rails partials twitter-bootstrap-3

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

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

如果有一种方法可以停止显示在登录屏幕上的导航栏,而不必删除部分内容,那将会更干净。

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

我正在使用设计。

我认为这篇文章不需要代码,但如果有帮助,我很乐意提供。谢谢。

Ed *_*ida 5

如果您正在使用 Devise 并且您在登录页面中,则没有登录用户。然后你可以使用其中一个设计助手来实现你想要的。就像是:

if (not user_signed_in?) then
    render 'your_partial_with_the_navbar'
end
Run Code Online (Sandbox Code Playgroud)

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

您也可以自己创建一个更好的助手,结合user_signed_in? 从设计与您的其他条件。

  • 谢谢,明白了。我在应用程序布局文件中做了以下操作 <% if (user_signed_in?) then %> <div id="navbar"><%= render 'shared/navbar'%></div> <% end %> 这很好用. 无论如何,所有用户都必须登录,所以应该没问题。再次感谢。 (2认同)