AASM: переходы из какого штата? - PullRequest
28 голосов
/ 06 февраля 2011

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

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

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

Ответы [ 2 ]

70 голосов
/ 19 октября 2012

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

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

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

5 голосов
/ 06 февраля 2011

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

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