在我的应用程序中,用户可以直接登录,然后才能进入主站点。
我正在整个网站上渲染部分导航栏,但我不希望在登录页面上呈现导航栏。我不想将导航栏代码复制并粘贴到所有视图中以防止这种情况发生。
如果有一种方法可以阻止导航栏在登录屏幕上显示而不必删除部分内容,那将会更清晰。
如何限制应用程序中某个页面的部分视图?
我正在使用Devise。
我不认为这篇文章中需要代码,但很乐意提供帮助。感谢。
答案 0 :(得分:4)
如果您正在使用Devise并且您在登录页面中,则没有登录用户。然后你可以使用一个Devise助手来实现你想要的。类似的东西:
if (not user_signed_in?) then
render 'your_partial_with_the_navbar'
end
这里唯一的一点是部分不会在没有用户登录的页面中呈现。
你也可以自己创建一个更好的帮手,将Devise中的 user_signed_in?与你的其他条件结合起来。