这是一个学校的 Rails 应用程序。我正在为用户帐户使用设计。到目前为止,每个用户都有一个.role
of admin
,teacher
或者student
限制了用户可以在应用程序中访问和贡献的内容。我user.email
用来登录。到目前为止一切都很好。
现在我意识到我的兄弟帐户有问题。user.email
用于登录的唯一地址实际上是家长的电子邮件地址(因为学生是未成年人),现在我必须说明有两个或更多孩子的家长是学生。我显然不能student
为每个孩子都有一个帐户并使用相同的电子邮件地址,因为它必须是唯一的(而且我确实希望在验证中保留要求)。
鉴于我已经完成了大量的应用程序,那么解决这种情况的一个很好的 DRY 方法是什么?
我已经搜索了这个网站和其他网站,但没有真正找到任何可以解释这种情况的东西。
我认为的一种方法是将User
模型中的角色更改为 parent ,然后有一个单独的Student
模型。然后,具有父母角色的用户可以,has_many :students
但这并不适合我。
任何一般的想法/概念都会受到赞赏,任何指向文章或宝石的指针都会帮助我解决这个问题。