0
私は多くの参加者を持つ会議モデルを持っています。各参加者は、会議に対していくつかの措置を講じることができます(登録、承諾、辞退など)。会議のステータス(保留、確認済みなど)は、各参加者の最新のアクションとその属性(期限切れ日付など)によって異なります。デザインパターン:Railsの子状態からの親の集約状態
たとえば、すべての参加者が承諾すると、会議のステータスは「確認済み」になります。しかし、会合が確認された後で、ある参加者が(時間競合のために)新しい時間を提案した場合、会議は現在「保留中」になります。
どのように会議の状態をモデル化する必要がありますか?現在の状態をシリアル化(イベントテーブルのlatest_state列を作成)する必要がありますか?もしそうなら、私はどのように子オブジェクトのアクションに基づいてステートマシンを使用できますか?
ありがとうございます。
中に変更された場合
self.status_changed?
はtrue
を返します、わかりません。会議のステータスは、参加者のそれぞれの最新のアクションにのみ依存しますか? 「行動」には何が含まれますか? –たとえば、すべての参加者が同意すると、会議のステータスが確認されます。ただし、確認後、ある参加者が(時間の競合のために)新しい時間を提案した場合、会議は保留中です。等々。 – AdamNYC