我试图弄清楚如何在 Rails 中实现动态审批系统。场景是这样的:我有一个模型对象(一个文档),当创建它时,用户可以分配一个批准流。该文件可以由用户填写和提交。然后,该文档在“批准”之前经过批准流程。
例如,假设我创建了一个“请假请求”文档。作为用户,我可以声称请假请求必须得到我的直属经理和人力资源部人员的批准,然后才能处于“已批准”状态。
我已经探索过使用许多状态机 gem 和 CanCan 来获得权限,但我无法完全理解如何动态创建这些工作流。我考虑过序列化数据库中的工作流,但这意味着每次我想确定等待批准的文档的文档审批者列表时,我都必须反序列化处于“等待批准”状态的文档列表中的每个工作流。
有没有人对如何解决这个问题有任何想法?