我正在使用Rail web應用程序。我有兩種模式,用戶,其中包含非常基本的信息:ID,用戶名和密碼,以及配置文件,其中包括每個用戶的配置文件。 (主要原因是要有一個輕量級的用戶模型,這個模型會定期被調用,而一個完整的配置文件將會被不規則地調用)。每個模型都有很多孩子。Rails中的兩個表具有相同的密鑰而不是has_one關係
現在,我有自己的主鍵配置文件,然後外鍵user_id與用戶匹配。
但是,我想知道是否應該使用與用戶模型相同的密鑰(即Profile.id == User.id,如果記錄引用同一用戶)具有Profile模型。這很方便,因爲當我有一個屬於User的對象時,我希望它屬於Profile,反之亦然。例如,我可以指定用戶has_many和Spec has_many與ChildModel的關係。因爲他們使用相同的密鑰,所以我不必將ChildModel合併到Spec,然後將Profile配置爲查找與子對象關聯的用戶。
不足之處在於未來,如果由於某種原因,我在用戶和規範的主鍵之間存在差異,那麼我會陷入困境。
對於這種情況,你會有什麼建議?
謝謝。
在你的問題上面是配置文件和規範實際上是相同的模型?換句話說,你有四種型號 - 配置文件,用戶,規格和兒童嗎?還是隻有三種型號 - 配置文件,用戶和兒童? –
是的。我糾正了我的問題中的例子。此外,Profile和User有一對一的關係。我只將它們分成兩種輕載模式。 – AdamNYC