Я использую ActiveRecord::Transitions
в Rails 3, и мой конечный автомат определяет как:
state_machine do
state :initial # first one is initial state
state :active
state :disabled
event :activate do
transitions :to => :active, :from => [:initial, :disabled]
end
event :disable do
transitions :to => :disabled, :from => [:initial, :active]
end
end
Как просмотреть список доступных переходов для текущего объекта и состояния?
Например, если у меня @product
в состоянии «активный», он должен сказать мне
- «отключен» - это единственное доступное состояние, или
- «отключить» - единственное доступное событие