Ich arbeite an einem Plugin, das dem User-Serializer zusätzliche Daten hinzufügen muss. Es funktioniert!
Aber ich muss es nur für Staff und den aktuellen Benutzer zum User-Serializer hinzufügen.
Aber . . . vielleicht sollte ich kurz zurücktreten: Ich brauche diese Informationen eigentlich nur auf der Benutzerprofilseite. Vielleicht sollte ich sie woanders einfügen?
add_to_serializer(:user, :manager_status) {
# TODO: Nur für den aktuellen Benutzer und Staff einfügen
return object.manager_status
}
Ich zeige dies derzeit auf der Benutzerprofilseite an. Ich würde gerne wissen, wie man eine separate Profilseite erstellt, die nur diese Informationen enthält. Links zu etwas, das das macht, wären toll.
Du müsstest eine neue Route erstellen und sicherstellen, dass sie nur für Mitarbeiter und den aktuellen Benutzer zugänglich ist. Das ist wahrscheinlich viel komplexer als die Serialisierung an der aktuellen Stelle.
Ich denke, das könntest du so umsetzen:
add_to_serializer(:user, :manager_status) {
return object.manager_status if object.admin || object.staff
}
Aus dem Stegreif musst du vielleicht ein bisschen Trickserei anwenden, um das aktuelle Benutzerobjekt zu laden und einen Abgleich vorzunehmen.
Ja, ich kann nicht herausfinden, wie ich den aktuellen Benutzer bekomme. Ich denke, deine Lösung wird ihn hinzufügen, wenn der Benutzer (aber nicht der aktuelle Benutzer) ein Administrator ist.