Ich habe ein User
Modell mit einer darunter liegenden type
Spalt, die Single Table Inheritance implementieren für Kindermodelle Teacher
und Student
und so weiter wie erwartet funktioniert.Ich mag das Typ-Feld von meinem STI Modell
Ich habe einen entsprechenden Rails Controller, der User.find
ruft, um einzelne Datensätze zu ziehen und wieder, STI funktioniert großartig. Ich bekomme richtig typisierte Modellobjekte mit den richtigen Daten in ihnen. Das Feld type
wird von den aus meinen Datenbankzeilen extrahierten Werten ausgeschlossen. Ich möchte, dass in den Ergebnissen der User.find
aufgenommen werden, damit meine Daten sieht etwa so aus:
{ id: 3, name: "Jane Doe", type: "Student" },
{ id: 7, name: "Jane Clark", type: "Teacher" }
ich, warum dies nicht der Standard ist: die meiste Zeit die Klasse oder den Typ des eigentlichen Objekts ist der beste Art und Weise zu kommunizieren, welche Art von User
Sie betrachten. Aber für meine Zwecke geht die Typinformation in der JSON-Übersetzung verloren und ich möchte sie lieber in dieser wörtlichen Form senden, da ich sie direkt in der Verbraucheranwendung verwende.
Daher meine Frage ist: Was hält die type
Feld aus der Ausgabe von User.find
? Was kann ich tun, um das zu überschreiben, idealerweise in einer Weise, die type
nur ein anderes gewöhnliches Datenfeld zu sein scheint?