【发布时间】:2010-10-23 11:56:27
【问题描述】:
我正在使用 Rails 构建一个 Web 应用程序,它为每个企业提供自己的帐户和子域,类似于 basecamp(和其他 37 个信号应用程序)lighthouseapp.com 等。
现在我知道有很多关于如何在 Rails 中创建子域的不错的教程,甚至还有 subdomain-fu 插件。
问题是我想使用用户的电子邮件地址作为他们的登录名,这意味着它必须是唯一的,但是我只希望它对每个帐户而不是所有帐户都是唯一的。
我正在使用设计进行身份验证,并且我创建了一个代表帐户的“帐户”模型,以及一个代表该帐户用户的用户模型。 Devise 在用户模型上运行,看起来它要求每个用户都有一个唯一的电子邮件地址。
我是否已经足够清楚地说明了这个问题?我很乐意提供澄清。
谁能指出我正确的方向?
为蒂姆澄清一些细节
- 问:一个人可以有多少个账户 企业有吗?
答:每个企业都有一个帐户。比如“斯普林菲尔德数学”
问:子域和帐户之间是否存在一对一的关联?
答:是的,例如 springfield-maths-grinds.myapp.com
问:“用户”是指自然人还是帐户中的角色?
- A:我应该更好地解释这一点。我实际上有两个独立的模型,例如导师和学生。每个帐户将有多个导师和学生。
企业、帐户、子域 企业和账户实际上是一回事。可以说是“商业帐户”。 我正在使用子域来访问每个“企业帐户”
登录名、用户、电子邮件地址 我应该澄清一下,我有两种类型的用户,它们由不同的模型表示,它们是导师和学生。这些将需要登录到应用程序,我想使用电子邮件地址作为他们的登录名,而不是用户名。
希望这能解决问题,而不是让事情变得更糟。
我的实际问题如下, 如果有人要为“Springfield 物理研究”设置一个商业帐户,并且“Springfield 数学研究”的一名学生尝试注册,那么他们将无法注册,因为该电子邮件地址已在使用中,需要是独一无二的。我想知道如何在企业帐户中确定学生和导师的范围。
【问题讨论】:
-
谢谢 - 这是更多的细节,非常有帮助。我现在知道的足以知道我无法回答这个问题(对不起),但现在对于在这方面有技能的人来说应该容易得多。澄清工作做得很好!
标签: ruby-on-rails subdomain devise accounts subdomain-fu