Um Zugriff auf current_user
im Serializer-Kontext zu erhalten, verwenden Sie zuerst die neue Bereichsfunktion:
Wenn Sie die Serialisierer manuell instanziieren, übergeben Sie den Gültigkeitsbereich:
%Vor% Fügen Sie dann innerhalb des Serialisierers benutzerdefinierte Methoden hinzu, um Ihre eigenen Pseudoattribute für die Autorisierung hinzuzufügen. Verwenden Sie dazu scope
(den aktuellen Benutzer), um Berechtigungen zu bestimmen.
Wenn Sie CanCan verwenden, können Sie Ihre Ability-Klasse instanziieren, um auf die Methode can?
zuzugreifen:
Ich denke, du kannst alles, was du willst, an serialization_scope
weitergeben, also gebe ich einfach die Fähigkeit weiter.
Ich kann nicht anders, da meine Fähigkeiten tatsächlich auf zwei Variablen basieren (nicht im obigen Beispiel).
Wenn Sie weiterhin Zugriff auf current_user benötigen, können Sie einfach eine Instanzvariable auf Ability setzen.
Tags und Links ruby-on-rails cancan activemodel active-model-serializers