0
我有一個會議模型,其中有許多參與者。每個參與者可以針對會議採取多種行動(註冊,接受,拒絕等)。會議狀態(待定,確認等)取決於每個參與者的最新動作及其屬性(過期日期等)。設計模式:Rails中子狀態父項的聚合狀態
例如,如果所有參與者都接受,則會議狀態將爲「已確認」。但是,如果會議確認後,一位參與者提出新的時間(因時間衝突),則會議現在變爲「待定」。
我應該如何在會議中模擬狀態?我應該序列化(即在事件表中創建一個latest_state列)當前狀態嗎?如果是這樣,我該如何使用基於子對象行爲的狀態機?
謝謝。
對不起
self.status_changed?
將返回true
,不知道我明白。會議狀態僅取決於每個參與者的最近行動? 「行動」包括什麼? –例如,如果所有參與者都接受,則會議狀態將被確認。但是,如果確認後,一位參與者提出新的時間(由於時間衝突),那麼會議現在正在等待。等等。 – AdamNYC