我正在尝试在 ActiveRecord 对象https://github.com/pluginaweek/state_machine gem 上实现状态机。但我想有嵌套的 state_machines。到目前为止,我有这个简单的状态机:
class Document < ActiveRecord::Base
state_machine :initial => :new do
before_transition :new => :processing, :do => :start_processing
event :start_processing do
transition :new => :upload_to
end
event :finish_processing do
transition :processing => :ok
end
event :error_in_processing do
transition :processing => :error
end
event :to_trash do
transition :processing => :trash
end
end
但我想做的是拥有嵌套状态机,它将在转换到处理状态后启动。该嵌套状态机将具有诸如uploading_to_xxx、extracting_from_yyy、挂起、验证等状态。我可能只使用一个状态机就可以实现这一点,但我更喜欢使用嵌套状态机。我在网上找不到任何样品。state_machine 是否支持此用例?或者,如果有其他宝石,你能指点我吗?谢谢