[英]Are there Ruby on Rails workflow gems with user-defined states?
[英]Any recommendations for implementing a user-defined workflow in Ruby?
我对创建一个系统可以让用户定义工作流程中的步骤感兴趣。 有没有已经处理过的宝石? 我想到了状态机中的一颗宝石,但它们似乎都是针对预定义状态的。 我一直在想,也许我可以将状态机用于各个步骤类型...电子邮件步骤可能具有一些状态[新建,已分配,完成],而工作流可能只是这些有状态步骤的列表。 还有其他解决方案吗?
对于状态机,让我提出另一个建议: 工作流
所有宝石都使用“预定义”状态的原因是,通常情况下,状态涉及一些红宝石代码:您说诸如“从此状态到此状态的转换发生时,执行此代码”或“从此处转换之前”之类的内容到那里,检查这个红宝石卫士”。 如果状态未经过某种“硬编码”,则无法实现这种功能。
如果您只需要一个文本字段,而无需立即执行任何代码,则可以使用一个简单的“状态”模型,其中包含:
假设您为模型使用了user_id和字符串,则电子邮件的状态下拉列表将像这样填充:
@states = State.find(:conditions => {
:user_id => current_user.id,
:model_name => 'State',
:parent_id => 4 #so you get the possible states that follow "New"
})
如果确实需要在某个过渡/防护处执行一些代码,则将需要使用预定义状态。 也可以,但是您必须稍微更改一下要求:与其让用户定义自己的状态,不如让用户从列表中“激活”其中的某些状态。 然后,“用户已激活此状态”将只是状态系统上的另一个“防护”。
编辑:添加了parent_id和acts_as_tree参考
您是否在寻找有限状态机之类的东西?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.