Gem AASM支持multiple state machine per class以及版本4.3或更高版本。一个类中的每个状态机使用唯一的状态机选择器。一个状态可以出现在多个状态机中吗?
这是一个例子。状态walking
同时出现在:move
和:work
中。 state walking
可以吗?或者我的名字不同,如:state walking_move
和state 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
在不同的状态机中吗?