在我们的rails应用程序中,一些model可能需要approval process。例如,对于purchasing order (PO),通常从提交PO开始,然后经理批准和首席执行官批准,然后才能将PO发送给供应商。审批过程可能是预先定义的。除了approval process之外,我们还希望记录每一次过渡的数据:
1. who did it (use id),
2. when she/he did it (time stamp)
3. comment by approval person (usually text).
4. approval process can be attached to the model late on demand.有相当多的state machine ruby gem存在(例如state machine)。我们的问题是:状态机是否足以满足上述要求?
发布于 2013-12-16 21:31:28
我用过工作流程 gem做类似的事情。
它有几个状态和转换事件从一个状态切换到另一个状态。您可以在转换事件中记录数据。
https://stackoverflow.com/questions/20620974
复制相似问题