Ich habe ein Upgrade auf Rails 3.0.5 & amp; Ausarbeitung 1.1.8. Wenn ich versuche, ein Objekt zu löschen (durch eine Ansicht mit: remote = & gt; true), erhalte ich einen Authentifizierungsdialog und die Devise-Sitzung wird zerstört. Dann muss ich mich erneut anmelden, und das Objekt ist immer noch da ... hat sonst noch jemand dieses Problem? Irgendwelche Ideen, wie man es löst?
Vielen Dank.
Dieses Problem bezieht sich nicht auf Devise. Kurz gesagt, seit Rails 3.0.4 ist es erforderlich, dass jede Nicht-GET-Anfrage ein CSRF-Token haben sollte, ansonsten wird die Sitzung gelöscht.
Hier gibt es zwei wesentliche Änderungen fix, das Verhalten bei CSRF der Schutz hat sich geändert und der Token wird jetzt für alle benötigt Nicht-GET-Anfragen.
Nach dem Anwenden dieses Patches ist CSRF fehlgeschlagen Anfragen generieren kein HTTP mehr 500 Fehler, stattdessen die Sitzung zurückgesetzt werden . Benutzer können dies überschreiben Verhalten durch Überschreiben handle_unverified_request in ihrem eigenen Controller.
Weitere Details hier: Ссылка
jQuery-Snippet zur Verwendung mit Ihren AJAX-Anfragen
%Vor%Wenn Sie einen Prototyp verwenden, benötigen Sie den folgenden Code:
%Vor%Ich hatte die gleichen Probleme mit keiner Ajax-Destroy-Calls stellt sich heraus, ich habe nur die & lt;% = csrf_meta_tag% & gt; in der Kopfzeile meiner alten Layouts.
Ich verwende rails 3.0.5 und ersetze einfach meine public / javascript / rails.js mit der neuesten von hier ( Ссылка ) hat dieses Problem behoben !!
PS: Diese rails.js sollte verwendet werden, wenn Sie nur jquery verwenden!
Tags und Links ruby-on-rails devise