Ich habe an einer neuen Rails 4-App (unter Ruby 2.0.0-p0) gearbeitet, als ich auf Probleme mit Authentizitätstoken gestoßen bin.
Beim Schreiben eines Controllers, der auf json reagiert (mithilfe der respond_to
Klassenmethode), kam ich zu der create
Aktion, bei der ich ActionController::InvalidAuthenticityToken
Ausnahmen versuchte, als ich versuchte, einen Datensatz mit zu erstellen curl
.
Ich habe dafür gesorgt, dass ich -H "Content-Type: application/json"
die Daten eingestellt habe und mit, -d "<my data here>"
aber immer noch kein Glück.
Ich habe versucht, denselben Controller mit Rails 3.2 (unter Ruby 1.9.3) zu schreiben, und habe keinerlei Probleme mit Authentizitätstoken. Ich habe mich umgesehen und festgestellt, dass in Rails 4 einige Änderungen an Authentizitätstoken vorgenommen wurden. Soweit ich weiß, werden diese nicht mehr automatisch in Formulare eingefügt. Ich nehme an, dass dies irgendwie Auswirkungen auf Nicht-HTML-Inhaltstypen hat.
Gibt es eine Möglichkeit, dies zu umgehen, ohne ein HTML-Formular anfordern zu müssen, das Authentizitätstoken zu entreißen und dann eine weitere Anfrage mit diesem Token zu stellen? Oder fehlt mir etwas, das völlig offensichtlich ist?
Bearbeiten: Ich habe gerade versucht, einen neuen Datensatz in einer neuen Rails 4-App mithilfe eines Gerüsts zu erstellen, ohne etwas zu ändern, und ich habe das gleiche Problem, also habe ich es wohl nicht getan.