一个状态是否可以出现在具有AASM的多状态机中?

时间:2017-02-03 22:29:04

标签: state-machine aasm

Gem AASM支持multiple state machine per class以及版本4.3或更高版本。一个类中的每个状态机使用唯一的状态机选择器。一个状态可以出现在多个状态机中吗?

这是一个例子。状态walking同时出现在:move:work中。 state walking可以吗?或者我的名字不同,如:state walking_movestate waling_work

class SimpleMultipleExample
  include AASM
  aasm(:move) do
    state :standing, :initial => true
    state :walking  #<====

    event :walk do
      transitions :from => :standing, :to => :walking
    end
  end

  aasm(:work) do
    state :sleeping, :initial => true
    state :walking  #<====

    event :start do
      transitions :from => :sleeping, :to => :walking
    end
  end
end

所有初始状态也可以是相同的,例如initial_state在不同的状态机中吗?

0 个答案:

没有答案