Authentifizierungsfehler mit Rails - Devise und AngularJS

8

Ich verwende Devise zur Benutzerauthentifizierung in einer Rails-Anwendung. Ich habe versucht, AngularJS anstelle des Standardgerüsts in einer Anwendung zu verwenden. Das Problem ist, dass wenn ich das before_filter: authenticate_user! In der Steuerung ruft dann AngularJS zum Aktualisieren / Speichern und Löschen einer Ressource nicht auf und sagt Unauthorized Access (401). Hier ist ein Teil des Codes:

Die Ressource:

%Vor%

Die Speicheraktion:

%Vor%

$ scope.em ist das Objekt, das die Daten für den Datensatz enthält, und es ist mit ng-model an eckig gebunden.

Alles funktioniert perfekt, wenn ich den before_filter: authenticate_user entferne! von der Steuerung

%Vor%

Das Problem tritt nur auf, wenn ich versuche, den Datensatz zu speichern / zu aktualisieren / zu löschen, nur das Lesen funktioniert einwandfrei.

Irgendwelche Ideen ?? Gibt es spezielle Richtlinien, die ich bei der Verwendung von Angular und Devise beachten sollte? Ich bin ein Neuling zu Schienen und angularJS, so eine detaillierte Erklärung wird sehr geschätzt werden! Danke

    
jkotzi 08.03.2013, 09:22
quelle

2 Antworten

10

Sie können dies zu Ihrem app.js hinzufügen:

%Vor%

Das CSRF-Token wird allen angularen Anfragen hinzugefügt.

BEARBEITEN: Jetzt jQuery unabhängig (verwenden Sie jqLite ).

    
Hauleth 08.04.2013 08:57
quelle
6

Ich fand heraus, dass ich das CSRF-Token verwenden musste.

Ссылка

    
jkotzi 11.03.2013 09:19
quelle