我正在使用工作流gem (htts://rubygems.org/gems/workflow),在RoR模型(用户)内建模一个简单的状态机(实际上很多工作流具有相同的根) )。
状态机在模型中进行了硬编码,但我需要一种方法来允许管理员自定义工作流程。 所以,我认为,我必须找到一个解决方案将所有工作流程(状态机)存储到数据库。
你知道一些lib或宝石吗? (我见过许多状态机gem,但它们不管理存储在表中的工作流程)
非常感谢
答案 0 :(得分:1)
不知道任何宝石......但是,您可以使用元编程来加载工作流的运作方式。
假设您可以将工作流程定义存储在数据库中。类似的东西:
Account.new.extend_workflow(@user.account_workflows)
#extend_workflow和account_workflows完全是自定义的并由您编写...这样,您的帐户可以拥有自定义状态机定义和规则集。
不是为了胆小的人,但可以在这里解决你的问题。