2010-10-25 10 views

risposta

23

C'è un metodo attributes che fornisce un hash di campo e valori. Quindi è possibile utilizzare

@foo.attributes.keys 

Per ottenere una matrice dei campi sul modello.

C'è anche un metodo di classe Foo.column_names che fornisce le stesse informazioni senza dover cercare prima un record.

Documentazione per:
ActiveRecord::Base.column_names
ActiveRecord::Base#attributes

+0

Grazie Emily per la risposta rapida! Sto usando .attributes = sempre. Non sono sicuro del motivo per cui non ci ho pensato ... –

+1

E se hai bisogno di eseguire il looping di attributi e valori, è semplice farlo con un blocco: '@foo.attributes.each do | k, v | ' –

+0

A volte Ho bisogno dei nomi delle colonne come simboli, 'Model.column_names.map (&: to_sym)' in soccorso. – Epigene

Problemi correlati