在DB中存储工作流(状态机)。 什么是最好的方式?

我正在使用工作流gem (htts://rubygems.org/gems/workflow),在RoR模型(User)中为一个简单的状态机建模(实际上很多工作流具有相同的根)。

状态机在模型中硬编码的 ,但我需要一种方法来允许管理员自定义工作流。 因此,我认为,我必须找到将所有工作流程(状态机)存储到数据库的解决方案。

你知道一些lib或gem吗? (我见过许多状态机gem,但它们不管理存储在表中的工作流)

非常感谢

不知道任何gem……但是,您可以使用元编程来加载工作流的function。

假设您可以将工作流定义存储在数据库中。 就像是:

Account.new.extend_workflow(@user.account_workflows) 

#extend_workflow和account_workflows完全是自定义的并由您编写…这样,您的帐户可以拥有自定义状态机定义和规则集。

不是为了胆小的人,但可以在这里解决你的问题。