获取state_machine状态列表

时间:2010-11-09 20:46:38

标签: ruby-on-rails state-machine

我们在项目中使用state_machine(https://github.com/pluginaweek/state_machine),并希望提供一个带有select的表单,让我们选择一个状态。 (这是用于搜索,而不是用于设置)。 我似乎无法找到列出所有可能状态的方法?当然应该有一种自动执行此操作的方法,而不必在某处硬编码文本列表。 谢谢!

3 个答案:

答案 0 :(得分:72)

类似的东西:

User.state_machine.states.map &:name

答案 1 :(得分:67)

只是为了添加(因为我一直在寻找这个答案,我总是回到这个页面),如果你想列出给定状态机的状态,试试这个:

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

答案 2 :(得分:5)

如果您以不同方式命名州字段,例如publish_status

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