2012-12-02 125 views
2

我使用state_machine寶石在我的Rails 3.2.9應用程序,我試圖讓下一個狀態的名字命名的下一個和以前的狀態。狀態機,

我可以列出所有國家:

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。

有什麼建議嗎?

回答

1

您可以簡單地使用輔助方法,如

Order.state_events 
Order.state_transitions 

Order.state_paths.from_name 
Order.state_paths.to_name 

檢查文檔上instance methods