0
我有一個Invite模型,它具有n + m個屬性(位置,時間等)。當接受邀請時,會創建一個Event對象,其中包含從Invite模型複製的n個屬性以及它自己的k個屬性。我想避免重複n個屬性。Rails模型設計:將一組屬性從一個類複製到另一個
我該如何在Rails中建立這種關係?
謝謝。
我有一個Invite模型,它具有n + m個屬性(位置,時間等)。當接受邀請時,會創建一個Event對象,其中包含從Invite模型複製的n個屬性以及它自己的k個屬性。我想避免重複n個屬性。Rails模型設計:將一組屬性從一個類複製到另一個
我該如何在Rails中建立這種關係?
謝謝。
不要考慮屬性,想想對象以及它們在現實世界中的模型(表示)。想想也是對象的生命週期
僅僅因爲存在重疊並不意味着要消除它。
如果你真的想要,你可以說每個事件belongs_to
一個邀請。 (並且n
屬性僅存儲在擁有的邀請模型中。)
但在執行此操作之前,請確保業務邏輯確認邀請在達到accepted
狀態後永遠不會更改。
已添加重複n
屬性的另一個原因:假設這些屬性稍後會更改爲實際事件 - 您希望這些屬性位於Event模型中。如果您有一組用於邀請和事件的數據,那麼您應該說這些屬性從邀請輸入時起就是固定的。
但這可能與現實世界不符。如果您確實更改了這些值,那麼您將丟失輸入邀請時原始值的值的信息。
謝謝拉里。我認爲你的建議是明智的。 – AdamNYC