Je travaillais sur une nouvelle application Rails 4 (sur Ruby 2.0.0-p0) lorsque j'ai rencontré des problèmes de jetons d'authenticité.
Lors de l'écriture d'un contrôleur qui répond à json (en utilisant la fonction respond_to
), je suis arrivé à la méthode de la classe create
action j'ai commencé à avoir ActionController::InvalidAuthenticityToken
exceptions lorsque j'ai essayé de créer un enregistrement en utilisant curl
.
Je me suis assuré de mettre -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 avec Rails 3.2 (sous Ruby 1.9.3) et je n'ai eu aucun problème de jeton d'authenticité. J'ai fait des recherches et j'ai vu qu'il y avait eu quelques changements avec les jetons d'authenticité dans Rails 4. D'après ce que j'ai compris, ils ne sont plus insérés automatiquement dans les formulaires ? Je suppose que cela affecte d'une certaine manière les types de contenu non-HTML.
Existe-t-il un moyen de contourner ce problème sans avoir à demander un formulaire HTML, à récupérer le jeton d'authenticité, puis à faire une autre demande avec ce jeton ? Ou bien est-ce que je passe complètement à côté de quelque chose de tout à fait évident ?
Editar: Je viens d'essayer de créer un nouvel enregistrement dans une nouvelle application Rails 4 en utilisant un scaffold 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.