Schienen: Holen Sie sich alle Felder für ein Objekt aus der Datenbank kommen
Sagen wir, ich habe eine Foo
ActiveRecord
Modell mit Feldern foo_id
, foo_name
und foo_description
.
Nach etwas wie
@foo = Foo.find(1)
Gibt es eine Methode "model_fields
": @foo.model_fields()
zurückkehren würde, array:
["foo_id", "foo_name", "foo_description"] ?
Danke für die Hilfe.
InformationsquelleAutor Nicolas M. | 2010-10-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein
attributes
Methode, geben ein hash-Feld-und-Werte. So könnten SieErhalten ein array mit den Feldern auf dem Modell.
Es gibt auch eine
Foo.column_names
Klasse Methode, die gibt Ihnen die gleichen Informationen, ohne dass eine Aufzeichnung erst.Dokumentation für:
ActiveRecord::Base.column_names
ActiveRecord::Base#Attribute
Und wenn Sie brauchen, um eine Schleife durch Attribute und Werte, es ist einfach zu tun, also mit einem block:
@foo.attributes.each do |k,v|
Manchmal muss ich die Spalten-Namen als Symbole
Model.column_names.map(&:to_sym)
zur Rettung.InformationsquelleAutor Emily