如何更好地管理多状态模型?

时间:2012-12-09 22:17:26

标签: ruby-on-rails state-machine

假设我有模型Campaign,它可以同时具有多个布尔状态:

drafted:只是草稿

suspended:活跃后暂停

pending:等待批准

paused:广告系列暂停,直到客户端恢复为止。

我想过使用状态机,我喜欢他们的DSL和他们提供的约定,但它只是一个并发状态,我不想失去以前的状态。例如,使用状态机(一个字符串字段统治它们):

如果我暂停了一个广告系列,那么客户端会在暂停时将其暂停,然后重新启动它,它会变为活动状态并且暂停状态已经消失。

任何人都知道如何处理这个问题?我喜欢StateMachines惯例,但我仍然希望并发状态能够持续存在。

0 个答案:

没有答案