在state_machine中,如何从当前状态中查找哪些事件有效?

时间:2011-07-21 21:53:14

标签: ruby-on-rails-3 state-machine

我在我的Rails3应用程序中使用Aaron Pfeifer的state_machine宝石 - 它很漂亮。

如何在当前状态下获取合法事件列表?通过这个,我 not 意味着my_model.state_path.events返回所有事件,这些事件可以从当前状态可传递地追溯 - 我只想要那些在当前状态下可用的事件。

我很确定我只是忽略了一些显而易见的事情。

1 个答案:

答案 0 :(得分:5)

Aaron自己回答了关于PluginAWeek:Core组邮件列表的问题:

  

嗨 - 您可以看到生成的辅助方法列表   每个状态机都在#state_machine宏的文档下   标题“实例方法”:   http://rdoc.info/github/pluginaweek/state_machine/master/StateMachine ...   在这里,您会注意到一些可以帮助您的实例方法:

     
      
  • state_events - 获取可以在其上触发的事件列表   当前对象的状态(使用非限定事件名称)
  •   
  • state_transitions - 获取可以进行的转换列表   当前对象的状态
  •   
  • state_paths - 获取可以转换的序列列表   从当前对象的状态运行希望这有帮助!最好的,亚伦
  •