如何解决Devise是否支持不同角色的不同模型? 在导轨中
| 我在新项目中使用了Devise,但是在角色方面存在一些问题。 我的项目中有两种用户,但是这两种用户具有不同的数据结构(非常不同)。 我知道Devise支持角色,但是应该如何处理不同的用户数据结构? 谢谢。解决方法
Devise文档指出,您可以根据需要使用不同的模型拥有尽可能多的角色(配置多个模型)
您只需像第一个模型一样设置其他模型,然后将其添加到
routes.rb
devise_for :admins
然后,您可以在控制器和视图内部使用:
# Inside your protected controller
before_filter :authenticate_admin!
# Inside your controllers and views
admin_signed_in?
current_admin
admin_session
主要问题是如何让这两个帐户访问同一控制器(如果适用于您的情况),因为这两个“ 3”,如果不是登录角色,第一个将始终重定向到登录页面(例如:admin)。您可能必须实现自定义的before_filter才能同时针对两个角色验证会话。
您可能可以通过为这些角色定制路线来解决此问题。例如/admin/projects
和/user/projects
。在这种情况下,authenticate
方法可能会有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。