Convertire una stringa in un nome di classe
Sabato, 31 Maggio 2008Vi sarà sicuramente capitato in una fase di programmazione avanzata di voler convertire una semplice stringa in un nome di classe. Facciamo un esempio pratico:
Tramite una normalissima form vogliamo passare il nome di un modello come parametro ad un metodo che si occupi poi di richiamare il metodo find appropriato? niente di più semplice in pieno stile ruby
stringa = params[:model]
stringa.camelize.constantize.find(:all)
Camelize si occupa di rendere la stringa in formato corretto: “il mio modello” diventa “IlMioModello”
Constantize invece cerca una costante con il nome corrispondente alla stringa già “cammelizzata” (cioè maiuscole/minuscole).
Di seguito i link al mio server con la documentazione relativa:
Documentazione di camelize
Documentazione di constantize
E’ tutto!

















































