Es fällt mir schwer, leicht zu erkennen, welche Attribute / Eigenschaften in allen meinen Modellklassen vorhanden sind, da sie in meinen Klassendateien nicht explizit definiert sind.
Um Modellattribute zu ermitteln, lasse ich die Datei schema.rb geöffnet und wechsle zwischen ihr und dem Code, den ich nach Bedarf schreibe. Dies funktioniert, ist jedoch umständlich, da ich zwischen dem Lesen der Schemadatei zum Abrufen von Attributen, der Modellklassendatei zum Überprüfen von Methoden und dem neuen Code, den ich zum Aufrufen von Attributen und Methoden schreibe, wechseln muss.
Meine Frage ist, wie Sie Modellattribute entdecken, wenn Sie zum ersten Mal eine Rails-Codebasis analysieren. Halten Sie die Datei schema.rb ständig geöffnet, oder gibt es einen besseren Weg, bei dem nicht ständig zwischen Schemadatei und Modelldatei gewechselt wird?
Antworten:
Für schemabezogene Sachen
Zum Beispiel Variablen / Attribute in einem AR-Objekt
Zum Beispiel Methoden ohne Vererbung von Super Class
quelle
Model.attribute_names
.Es gibt ein Rails-Plugin namens Annotate Models, das Ihre Modellattribute oben in Ihren Modelldateien generiert. Hier ist der Link:
https://github.com/ctran/annotate_models
Um die Annotation synchron zu halten, können Sie eine Aufgabe schreiben, um Annotationsmodelle nach jeder Bereitstellung neu zu generieren.
quelle
Wenn Sie nur an den Eigenschaften und Datentypen aus der Datenbank interessiert sind, können Sie verwenden
Model.inspect
.Alternativ enthält die Datei nach dem Ausführen
rake db:create
undrake db:migrate
für Ihre Entwicklungsumgebungdb/schema.rb
die maßgebliche Quelle für Ihre Datenbankstruktur:quelle
Um das Modell zu beschreiben, verwende ich das folgende Snippet
Auch dies ist der Fall, wenn Sie einen hübschen Ausdruck suchen, um Sie zu beschreiben,
ActiveRecord
ohne dass Sie Migrationen durchlaufen oder diesen Entwickler hüpfen müssen, bevor Sie nett genug waren, um Attribute zu kommentieren.quelle
Quelle: Blog
quelle