32

我正在使用AASM。是否可以从任何状态过渡?例如:

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

我知道可以将一组状态传递给:from,但这不是我想要的。我试过:from完全省略,但这没有用。

4

2 回答 2

80

aasm 现在支持没有任何from指定的转换,这将允许从任何状态进行转换。

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

(吹牛的权利:我添加了这个功能,因为我需要它)

于 2012-10-19T06:43:48.290 回答
5

您可以通过aasm_states类方法获取状态,前提是它们已经在代码的前面定义过。

aasm_event :publish do
  transitions :to => :publish, :from => aasm_states.map(&:name)
end
于 2011-02-06T12:12:10.363 回答