2011-02-06 16 views
23

私はAASMを使用しています。どの州からの移行も可能ですか?たとえば:AASM:任意の状態からの遷移?

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

私は:fromに状態の配列を渡すことが可能であることを知っているが、これは私が後だものではありません。私は:fromを完全に省略しようとしましたが、うまくいきませんでした。

答えて

53

AASMは今どんな状態から移行できるようになります指定された任意のfrom、なしの移行をサポートしています。

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

(自慢する権利:私はそれを必要とするので、私はこの機能を追加しました)

+4

この機能をコードベースに追加していただきありがとうございます。 > 3.0.10のすべてのAASMリリースにこれが含まれています。 – alto

5

aasm_statesクラスメソッドを使用して状態を取得することができます(これらの状態は、コードですでに定義済みであることが条件です)。

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

パーフェクトは、あなたに感謝します。 – gjb

+4

答えのThxがハック・アイを感じる。 AASMは、allまたはanyをサポートする必要があります。 – pschang

関連する問題