получить список состояний state_machine - PullRequest
45 голосов
/ 09 ноября 2010

Мы используем state_machine (https://github.com/pluginaweek/state_machine) в проекте и хотели бы предложить форму с выбором, которая позволяет нам выбирать состояние. (это для поиска, а не для настройки). Я не могу найти способ перечислить все возможные состояния? Конечно, должен быть автоматический способ сделать это, без необходимости где-то жестко кодировать список текста. Спасибо!

Ответы [ 3 ]

73 голосов
/ 10 ноября 2010

Что-то вроде:

User.state_machine.states.map &:name
67 голосов
/ 27 марта 2011

Просто чтобы добавить к этому (потому что я постоянно ищу этот ответ, и я всегда возвращаюсь на эту страницу), если вы пытаетесь перечислить состояния для данного конечного автомата, попробуйте это:

Discussion.state_machines[:name_of_state].states.map &:name
5 голосов
/ 09 августа 2012

Если вы называете свое поле состояния по-другому, например, publish_status

Article.state_machines[:publish_status].states.map &:name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...