Je travaillais sur une nouvelle application Rails 4 (sur Ruby 2.0.0-p0) lorsque j'ai rencontré des problèmes de jeton d'authenticité.
Lors de l'écriture d'un contrôleur qui répond à json (en utilisant la respond_to
méthode de classe), je suis arrivé à l' create
action que j'ai commencé à obtenir des ActionController::InvalidAuthenticityToken
exceptions lorsque j'ai essayé de créer un enregistrement en utilisant curl
.
J'ai fait en sorte de définir -H "Content-Type: application/json"
et j'ai défini les données avec -d "<my data here>"
mais toujours pas de chance.
J'ai essayé d'écrire le même contrôleur en utilisant Rails 3.2 (sur Ruby 1.9.3) et je n'ai eu aucun problème de jeton d'authenticité. J'ai cherché autour et j'ai vu qu'il y avait des changements avec les jetons d'authenticité dans Rails 4. D'après ce que je comprends, ils ne sont plus automatiquement insérés dans les formulaires? Je suppose que cela affecte en quelque sorte les types de contenu non HTML.
Existe-t-il un moyen de contourner cela sans avoir à demander un formulaire HTML, à arracher le jeton d'authenticité, puis à faire une autre demande avec ce jeton? Ou est-ce que je manque complètement quelque chose de complètement évident?
Edit: J'ai juste essayé de créer un nouvel enregistrement dans une nouvelle application Rails 4 en utilisant un échafaudage sans rien changer et je rencontre le même problème, donc je suppose que ce n'est pas quelque chose que j'ai fait.