我在我的Rails3应用程序中使用Aaron Pfeifer的state_machine宝石 - 它很漂亮。
如何在当前状态下获取合法事件列表?通过这个,我 not 意味着my_model.state_path.events
返回所有事件,这些事件可以从当前状态可传递地追溯 - 我只想要那些在当前状态下可用的事件。
我很确定我只是忽略了一些显而易见的事情。
答案 0 :(得分:5)
Aaron自己回答了关于PluginAWeek:Core组邮件列表的问题:
嗨 - 您可以看到生成的辅助方法列表 每个状态机都在#state_machine宏的文档下 标题“实例方法”: http://rdoc.info/github/pluginaweek/state_machine/master/StateMachine ... 在这里,您会注意到一些可以帮助您的实例方法:
- state_events - 获取可以在其上触发的事件列表 当前对象的状态(使用非限定事件名称)
- state_transitions - 获取可以进行的转换列表 当前对象的状态
- state_paths - 获取可以转换的序列列表 从当前对象的状态运行希望这有帮助!最好的,亚伦