2011-05-25 50 views
0

我正在开发一个小型的web应用程序,需要一些帮助。Rails:基于域名的用户到公司逻辑

用户注册后,如果它们存在,它们将根据其域名分配给公司,否则它将创建一个具有该域的新公司。

def assign_user_to_company 
domain = email.split("@").last 
user_company = Company.find_or_create_by_domain domain 
update_attribute(:company_id, user_company.id) #or whatever you called this field 
end 

这很好,因为它将所有用户通过他们的电子邮件分组到网络中。 Yammer风格。不过,我将在其中列出所有这些公司和用户。例如,有少数人使用google.com注册时出现问题,同一公司的人员注册了google.co.uk域。然后这会创建同一个公司的不同组。

我一直在想办法做到这一点。为公司分配公司,给公司一个家长......等等,但不确定解决这个问题的最有效方式。

任何帮助,非常感谢。

回答

2

您可以将公司别名归为一个组,因此一家公司有许多域,每个域都有许多用户。当你想找到公司的所有用户时,应该很简单。

希望这会有所帮助!

+0

谢谢德文。这将是正确的方式来做到这一点......然而,它让我思考,我可能只是进一步拆分域,只是得到没有扩展名的价值。这将允许提交任何扩展名。 – Goldy 2011-05-26 18:47:02

+0

要小心,有些公司可能并不拥有所有顶级域名,所以如果你这样做,你可以将用户分组到错误的地区。 – 2011-05-26 19:16:42

+0

好点,去别名。谢谢你的帮助。 – Goldy 2011-05-27 23:41:10