8

我有一个代表注册过程的模型,它需要跟踪几个过程的进展(背景调查、面试、信息收集......)。每个都可以由一个状态机表示,然后注册的整体状态可能取决于其他状态。

aasm可以处理吗?还有其他想法或设计考虑吗?

4

3 回答 3

5

由于当您在一个模型中搜索多个状态机时会出现这个问题,因此最好有一个答案,尽管已经有了答案。请尝试做:

class Example < ActiveRecord::Base
 include AASM

    aasm :search, :column => :search do
    state :initialised, :initial => true
    ...
    end  
    aasm :sync, :column => :sync do
    state :unsynced, :initial => true
    ...
    end 
end

这将基于搜索和同步两列创建两个状态机。

于 2016-09-12T11:18:49.470 回答
4

试试这个插件,你甚至可以用它来继承其他状态机:

http://api.pluginaweek.org/state_machine/

于 2010-02-24T02:28:42.943 回答
-2

如果您在一个模型中需要多个状态机,它可能会变得很大,是时候拆分模型了。因此,在您的示例中,您应该添加用于背景调查、面试、信息收集的模型......

于 2010-09-07T07:52:37.787 回答