AASMでInvalidTransitionが出る件
AASMをアップデートしたら、テストで例外が出るようになった。 正しくない状態遷移を行うと例外を返すようになったらしい。 AASMの初期化オプションに:whiny_transitions => falseを与えてやればいい。 以下は例。
aasm :column => :aasm_status, :whiny_transitions => false do
state :prepared, :initial => true
state :queued
state :accepted
...
event :accept do
transitions :to => :accepted, :from => [:queued]
end
...
end
この例だと、whiny_transitionsがtrueならpreparedから直接accept!とかすると例外を投げる。 以前は単に遷移せずpreparedのままだった。
まぁ、例外を投げるのが正しい動作だとは思う。作者もそう言ってるみたい。 あくまで既存のコードをいじりたくない場合ってことで。