Подтвердить что ты не робот

AASM: Переходы из любого государства?

Я использую AASM. Возможно ли переход от любого государства? Например:

aasm_event :publish do
  transitions :to => :publish, :from => ANY_STATE
end

Я знаю, что можно передать массив состояний в :from, но это не то, что мне нужно. Я пробовал полностью исключить :from, но это не сработало.

4b9b3361

Ответ 1

aasm теперь поддерживает переходы без заданного from, что позволит перейти из любого состояния.

aasm_event :publish do
  transitions to: :publish # from ANY
end

(права похвастаться: я добавил эту функцию, потому что мне это нужно)

Ответ 2

Вы можете получить состояния через метод класса aasm_states, если они уже были определены ранее в коде.

aasm_event :publish do
  transitions :to => :publish, :from => aasm_states.map(&:name)
end