2012-12-02 75 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