首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails中创建动态审批系统

在Rails中创建动态审批系统
EN

Stack Overflow用户
提问于 2014-02-11 07:19:38
回答 1查看 1.5K关注 0票数 0

我试图弄清楚如何在Rails中实现动态审批系统。场景是这样的:我有一个模型对象(一个文档),当创建它时,用户可以给它分配一个批准流。文档可以由用户填写和提交。然后,文档经过审批流程,然后才被“批准”。

例如,假设我创建了一个“离开请求”文档。作为用户,我可以声称休假请求必须得到我的直线经理和人力资源部人员的批准,然后才能进入“批准”状态。

我已经探索过使用许多状态机gems和CanCan作为权限,但我无法思考如何动态创建这些工作流。我考虑过序列化数据库中的工作流,但这意味着每当我想确定等待批准的文档审批者列表时,我都必须反序列化处于“等待批准”状态的文档列表中的每个工作流。

有没有人对如何解决这个问题有任何想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-11 08:18:33

我认为最好的解决方案是使用单独的表存储审批人。您可以在创建文档时动态创建“审批人”,然后根据其他文档更改每个“审批人”。如果文档没有未经批准的“审批人”,则该文档被批准。

代码语言:javascript
复制
class Approver < ActiveRecord::Base
  attr_accessible :approved, role, ...
  # where role is manager or someone from HR or ...
  # approved is a status (true or false)

  belongs_to :document
  ...
end

class Document < ActiveRecord::Base
  has_many :approvers

  def approved?
    approvers.where(approved: false).empty?
  end

  ....
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21695537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档