0

这是一个学校的 Rails 应用程序。我正在为用户帐户使用设计。到目前为止,每个用户都有一个.roleof adminteacher或者student限制了用户可以在应用程序中访问和贡献的内容。我user.email用来登录。到目前为止一切都很好。

现在我意识到我的兄弟帐户有问题。user.email用于登录的唯一地址实际上是家长的电子邮件地址(因为学生是未成年人),现在我必须说明有两个或更多孩子的家长是学生。我显然不能student为每个孩子都有一个帐户并使用相同的电子邮件地址,因为它必须是唯一的(而且我确实希望在验证中保留要求)。

鉴于我已经完成了大量的应用程序,那么解决这种情况的一个很好的 DRY 方法是什么?

我已经搜索了这个网站和其他网站,但没有真正找到任何可以解释这种情况的东西。

我认为的一种方法是将User模型中的角色更改为 parent ,然后有一个单独的Student模型。然后,具有父母角色的用户可以,has_many :students但这并不适合我。

任何一般的想法/概念都会受到赞赏,任何指向文章或宝石的指针都会帮助我解决这个问题。

4

1 回答 1

0

我不知道这是否是最好的方法,但一种方法是将兄弟唯一标识符附加到所有学生电子邮件地址的父母电子邮件地址的名称部分。您可以这样做,以便在您想要“真实”电子邮件地址时将其剥离。根据http://www.plankdesign.com/blog/2013/06/testing-infinite-unique-email-addresses-with-gmail/,这种方法实际上有一些先例。

于 2013-08-13T03:37:34.487 回答