我在我的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。
有什么建议吗?
答案 0 :(得分:1)
您可以简单地使用辅助方法,如
Order.state_events
Order.state_transitions
Order.state_paths.from_name
Order.state_paths.to_name
上的文档