获取state_machine状态的列表

我们在一个项目中使用state_machine( https://github.com/pluginaweek/state_machine ),并希望提供一个表单,让我们select一个状态。 (这是search,而不是设置)。 我似乎无法find一种方式列出所有可能的状态? 当然,应该有一个自动的方式来做到这一点,而不是硬编码的地方的文本列表。 谢谢!

就像是:

User.state_machine.states.map &:name 

只是添加到这个(因为我不断地寻找这个答案,我总是回到这个页面),如果你正在试图列出给定状态机的状态,试试这个:

 Discussion.state_machines[:name_of_state].states.map &:name 

如果您以不同的方式命名状态字段,例如publish_status

 Article.state_machines[:publish_status].states.map &:name