2016-06-22 20 views
0

レール4.2.3とaasm gemバージョン4.1を使用しています 1つのモデルで2つの状態マシンを列挙型フィールドに追加できますか?aasmを持つ列挙型フィールドの複数の状態マシン

Iが列挙状態を有する:[:活性:懸濁:削除] と列挙活性:[:作業は、:停止]

と私はこのような2台の状態マシン習慣:

aasm(:connection_state, column: :state, enum: true do 
    state :active, initial: true 
    state :suspended 
    state :deleted 

    event :activate do 
     transitions from: :suspended, to: :active 
     transitions from: :deleted, to: :active 
    end 

    event :suspend do 
     transitions from: :active, to: :suspended 
    end 

    event :mark_as_deleted do 
     transitions from: [:active, :suspended], to: :deleted 
    end 
    end 

および他の状態機械:

aasm(:activity_state, column: :activity, enum: true do 
    state :working, initial: true 
    state :stopped 

    event :start_working do 
     transitions from: :stopped, to: :working 
    end 

    event :stop_working do 
     transitions from: :working, to: :stopped 
    end 
    end 

しかし仕様はエラーで失敗する:

expect(subject).to transition_from(:active).to(:suspended).on_event(:suspend) 

AASM :: UnknownStateMachineError: のModelName

で定義された名前を「デフォルト」とは、ステートマシンは、私が行方不明です何がありませんか?私の仕様で問題が発生しました

答えて

0

、ちょうど慎重ドキュメントを通じてreadedない:

expect(subject).to transition_from(:active).to(:suspended).on_event(:suspend).on(:connection_state) 

修正問題

関連する問題