all我正在尝试在 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是否支持此用例?或者,如果还有其他宝石,你能指出我吗?谢谢
您可以使用工作流 gem https://github.com/geekq/workflow 来完成此操作