考虑一个应用程序,它需要有两种不同类型的用户:
User
与标准客户端一样Organization
作为通过应用程序提供某些服务的实体要求:
通过简单地使用devise
创建两个单独的模型,这似乎是在公园散步,但我真的不想复制如此多的身份验证功能。
我选择了多态关联,其中Organization
和User
是不同的模型,两者都与Entity
表示身份验证的关系为1-1。 Entity
只有devise
个属性(如密码等),而其他属性则属于特定类型的属性。不幸的是,这个解决方案有许多缺点,比如必须定义自定义帮助程序,warden
策略和devise
失败应用程序。
我想知道,这类问题是否有简明的解决方案?
理想情况下,有两个devise
模型将关于身份验证的所有内容委托给一个单独的实体。