Estaba trabajando en una nueva aplicación Rails 4 (en Ruby 2.0.0-p0) cuando me encontré con algunos problemas de token de autenticidad.
Mientras escribía un controlador que responde a json (usando el respond_to
método de clase), llegué a la create
acción y comencé a obtener ActionController::InvalidAuthenticityToken
excepciones cuando intenté crear un registro usando curl
.
Me aseguré de configurar -H "Content-Type: application/json"
y configurar los datos con, -d "<my data here>"
pero todavía no tuve suerte.
Intenté escribir el mismo controlador usando Rails 3.2 (en Ruby 1.9.3) y no tuve ningún problema con el token de autenticidad. Busqué y vi que había algunos cambios con los tokens de autenticidad en Rails 4. Por lo que entiendo, ¿ya no se insertan automáticamente en los formularios? Supongo que esto está afectando de alguna manera los tipos de contenido no HTML.
¿Hay alguna forma de evitar esto sin tener que solicitar un formulario HTML, arrebatando el token de autenticidad y luego haciendo otra solicitud con ese token? ¿O me estoy perdiendo por completo algo que es completamente obvio?
Editar: acabo de intentar crear un nuevo registro en una nueva aplicación Rails 4 usando un andamio sin cambiar nada y me encuentro con el mismo problema, así que supongo que no es algo que hice.