Ich benutze Pandit für die Autorisierung in einer App Schienen. Für einige Modelle möchte ich eine Berechtigung auf Attributebene haben. Zum Beispiel kann ein normaler Benutzer seine Telefonnummer ändern, aber seinen Status nicht auf "Administrator" setzen.Berechtigung auf Attributebene in Ansichten mit Pandit
Wie in empfohlen, verwende ich die permitted_attributes
für diese.
Ich möchte nun auf diese Attribute in einer Ansicht zugreifen, um zu entscheiden, welche Felder in einem Formular angezeigt oder aktiviert werden sollen. Gibt es einen (eleganten) Weg, dies zu tun, ohne die autorisierten Felder dort im Wesentlichen zu wiederholen?
Dank, habe ich die Methoden zur Anwendungsrichtlinie und erstellt das benutzerdefinierte Formular-Builder, aber ich kann nicht für den Zugriff scheinen die Richtlinie vom Helfer. Ich erhalte eine "Methode der undefinierten Methode" für # " –
bmesuere
Haben Sie versucht, @ template.policy aufzurufen? Ich stelle fest, dass ich einen Tippfehler gemacht habe und habe es mit einem Leerzeichen geschrieben. @template ist eine Verknüpfung zum Ansichtskontext, der die Richtlinie enthalten sollte - nicht die Form Builder-Klasse. – max
Ja, ich habe sowohl @ template.policy als auch view_context.policy ausprobiert. In der Ansicht selbst kann ich ohne Probleme auf Richtlinien zugreifen. – bmesuere