2

Rails 3.2.9 アプリケーションで state_machine gem を使用しており、次の状態の名前を取得しようとしています。

すべての州を次のように一覧表示できます。

 Order.state_machine.states.map &:name

しかし、次の状態の名前を取得できるかどうかは、ドキュメントではわかりません。

私のモデルには次のようなものがあります。

  state_machine :initial => 'stage_1', :use_transactions => false do
    event :next do
      transition :from => 'stage_1', :to => 'stage_2'
      transition :from => 'stage_2', :to => 'stage_3', :if => :is_valid?
      transition :from => 'stage_2', :to => 'stage_4'

state_2 にいる場合は、stage_3 を表示したいと思います。

助言がありますか?

4

1 に答える 1

1

次のようなヘルパーメソッドを簡単に使用できます

Order.state_events
Order.state_transitions

Order.state_paths.from_name
Order.state_paths.to_name

インスタンスメソッドのドキュメントを確認してください

于 2012-12-30T22:51:21.067 に答える