Stiamo utilizzando la modalità state_machine (https://github.com/pluginaweek/state_machine) in un progetto e vorremmo offrire un modulo con una selezione che ci consenta di scegliere uno stato. (questo è per la ricerca, non per l'impostazione). Non riesco a trovare un modo per elencare tutti gli stati possibili? Sicuramente dovrebbe esserci un modo automatico per farlo, non dover codificare un elenco di testo da qualche parte. Grazie!ottieni l'elenco degli stati state_machine
risposta
Qualcosa di simile:
User.state_machine.states.map &:name
solo aggiungere a questo (perché sono costantemente alla ricerca di questa risposta, e ho sempre tornare a questa pagina), se si sta cercando di elencare gli stati per un dando macchina statale, provate questo:
Discussion.state_machines[:name_of_state].states.map &:name
Grazie, questo è molto meglio. La risposta accettata gestisce solo i valori predefiniti, credo, e avevo bisogno degli stati per il mio "stato" di campo personalizzato. Grazie ancora! –
Assicurati che questa linea arrivi dopo le dichiarazioni della macchina di stato se la usi nella tua classe. –
Se il nome del tuo campo di stato in modo diverso, come ad esempio publish_status
Article.state_machines[:publish_status].states.map &:name
- 1. Combinando monadi StateT e degli Stati
- 2. Che cos'è lo spazio degli stati?
- 3. uu-router angularjs: ottieni l'elenco degli stati figlio di un determinato stato
- 4. Ottenere l'elenco di stati degli Stati in base al paese selezionato
- 5. R: creazione di una mappa di province canadesi selezionate e stati degli Stati Uniti
- 6. Dati overlay iOS (MKPolygon) per tutti gli stati degli Stati Uniti?
- 7. Hibernate Envers - Ottieni campi che sono stati modificati
- 8. Elenco degli stati dei socket interni possibili da/proc
- 9. Controllo degli stati lexer di PLY Python dal parser
- 10. Come ottenere l'elenco degli stati del router UI Angularjs?
- 11. Ripristino degli stati del nodo albero espanso/compresso
- 12. Casella di controllo TriState - come modificare l'ordine degli stati
- 13. NSNumberFormatter per formattare i numeri di telefono degli Stati Uniti
- 14. Mappatura del codice postale degli Stati Uniti al fuso orario
- 15. c'è una libreria per analizzare gli indirizzi degli Stati Uniti?
- 16. human_name per lo stato in state_machine rubino gemma
- 17. rails state_machine: Come attivare un'azione su: stato iniziale?
- 18. AngularJS - ottieni i valori degli attributi dell'elemento
- 19. Ottieni i nomi degli elementi in rappa
- 20. macchine a stati e stati multipli
- 21. Ottieni l'indice degli elementi dopo aver utilizzato il filtro
- 22. Ottieni i nomi e i valori degli attributi da ElementTree
- 23. SDK iOS di Facebook - ottieni l'elenco degli amici connessi all'app
- 24. Ottieni il contenuto degli appunti da Illustrator con java
- 25. Ottieni i valori degli attributi dall'opzione select2 selezionata
- 26. Ottieni coordinate assolute per la rotazione degli elementi Inkscape SVG
- 27. Ottieni le coordinate x e y reali degli utenti toccate
- 28. Ottieni il log degli errori PHP da PHP
- 29. Ottieni un elenco degli indici della collezione in Meteor
- 30. Ottieni oggetti specifici da ArrayList quando gli oggetti sono stati aggiunti in modo anonimo?
Grazie! Questo fa il trucco. – phil