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
方法可能会有所帮助。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...