Rails 重新接受工作流程 gem

Rails reaccept with workflow gem

我可以使用 rails 工作流程 gem 重新接受已经接受的对象吗?

我的商业案例:

  1. 用户想要更新public个人资料数据。
  2. 每次更新时,管理员都必须查看对数据所做的更改
  3. 管理员接受更改,之后数据对 public
  4. 可见
  5. 用户再次更改数据(更新操作),新的更改必须重新审核。
  6. 管理员再次审核并接受。

那么我的 workflow 应该是什么?截至目前看起来是这样的:

 include Workflow
  workflow do
    state :new do
      event :submit, :transitions_to => :awaiting_review
    end
    state :update do
      event :submit, :transitions_to => :awaiting_review
    end
    state :awaiting_review do
      event :review, :transitions_to => :being_reviewed
    end
    state :being_reviewed do
      event :accept, :transitions_to => :accepted
      event :reject, :transitions_to => :rejected
    end
    state :accepted
    state :rejected
  end

我的问题是,一旦我将对象的状态更改为已接受,我就无法在第二次更新时返回到 awaiting_review。 任何帮助表示赞赏。谢谢!

当我使用工作流程 gem 时,我会创建另一个事件来向后过渡。

state :accepted do
  event :submit, :transitions_to => :awaiting_review
end

我会保留 submit 事件名称,以便在配置文件处于新状态、更新状态或已接受状态时调用它。