Pau*_*aul 4 authentication ruby-on-rails before-filter devise
当用户输入我们网站的根目录或注销时,Devise身份验证会在第一次显示"您需要先登录或注册才能继续".页面重新加载后,此消息消失.
我们网站的根设置为控制器,它具有:
before_filter :authenticate_user!
Run Code Online (Sandbox Code Playgroud)
我们需要这个控制器作为根.如何消除此消息?
正确的解决方案是设置一个经过验证的块,如官方维基中所述:https://github.com/plataformatec/devise/wiki/How-To : -Require- authentication-for-all- pages
authenticated :user do
root to: 'home#index', as: :authenticated_root
end
root to: redirect('/users/sign_in')
Run Code Online (Sandbox Code Playgroud)
authenticated只有在登录后才会调用范围块,因此您可以愉快地将用户定向到您选择的控制器.在示例中,它在未经身份验证时将其重定向到登录页面,但这可能是您的路线中的任何操作.
| 归档时间: |
|
| 查看次数: |
5790 次 |
| 最近记录: |