POST json a los servidores de Rails

def create req = ActiveSupport::JSON.decode(request.body) if user = User.authenticate(req["email"], req["password"]) session[:user_id] = user.id render :json => "{\"r\": \"t\"}" + req else render :json => "{\"r\": \"f\"}" end end 

El método ‘crear’ está en un controlador y mapeado a “/ login”, estoy configurando los tipos de contenido correctos y acepto los encabezados de mi curl client. Recibo una respuesta de estado http 422 todo el tiempo.

¿Alguna sugerencia?

Si está enviando los encabezados correctos, entonces no necesitará hacer “ActiveSupport :: JSON.decode” – los Rails lo harán por usted.

Deberá establecer los siguientes encabezados en su publicación.

 Content-Type: application/json Accept: application/json 

A 422 significa Entidad no procesable — generalmente que hubo una falla de validación.

Deberías poder tener. Si no puede, sus encabezados no están configurados correctamente.

 def create if user = User.authenticate(params["email"], params["password"]) session[:user_id] = user.id render :json => "{\"r\": \"t\"}" + req else render :json => "{\"r\": \"f\"}" end end