2011-05-25 52 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