我正在開發我的第一個簡單的Rails應用程序,用戶在該應用程序中提交體育「推文」(例如「網球,壁球」),服務器將其與合作伙伴進行匹配。服務器會根據類似的推文向您返回SportMatches的列表,並且您有不同的選項(例如電子郵件,短信)來回復某人的推文,並接受他/她的合作伙伴。最初,建模過程很簡單:用戶has_many SportTweets和SportTweet屬於用戶。通知只是用戶的一部分,或者他們可能已被建模爲與用戶的1對1關係。如何在現有的Rails模式中爲匿名用戶建模?
我的業務需求有所變化,因爲現在我有匿名用戶也可以發佈SportTweets。由於他們沒有帳戶/資料,他們還必須提交通知(例如電子郵件,短信)。我不知道如何建模Rails方式。 SportTweets現在是匿名的,或者是通過身份驗證的用戶發佈的(AUP)。所以,現在,我的SportTweets表將有以下幾列:
- 類型:可以是 「匿名」 或 「AUP」
- USER_ID:僅AUP
- notifications_id:只爲匿名
- 體育:所有
- POST_DATE:所有
- post_location:所有
- 等
會有一個通知表。通知記錄將屬於用戶或SportsTweet。我想我會用多態關聯來建模。
這只是看起來不像Rails的方式。有沒有人遇到類似的問題?你是如何解決它的?
有助於使該解答更有有用的請解釋什麼是有用的Rails 3 Way - 第9章。五年後,當你的答案繼續存在並且Rails 3 Way已經絕版,並且很難找到你的答案仍然有用。 – ahsteele