Rails :: Diferencia entre el respond_to y el request.xhr?
Publicado por Edgar González 3 Julio 2006 en Rails, Ruby. english • españolA raiz de la inclusión del soporte para servicios web tipo REST en Rails 1.1, algunos han confundido la funcionalidad del respond_to y el request.xhr?.
El request.xhr? verifica que el encabezado (header) HTTP_X_REQUESTED_WITH exista en el requerimiento HTTP y tenga el valor:
-
'XMLHttpRequest'
Este header es fijado automáticamente por prototype, con lo cual request.xhr? es principalmente usado para saber si el requerimiento ha sido hecho vía Ajax (ver un ejemplo)
Por otro lado el respond_to verifica el valor del encabezado HTTP_ACCEPT en el requerimiento HTTP, este header es fijado por los navegadores (browsers), robots, prototype, etc.
Usualmente el valor de este header es algo de esta forma:
-
'text/javascript, text/html, application/xml, text/xml, */*'
Con lo cual respond_to es usado para enviar el tipo de respuesta apropiado en virtud del mime-type que el browser pueda aceptar como respuesta. Para ejemplos ver el artículo de Jamis Buck.
Tu gilipolllas no podrías primero explicar que es cada cosa y luego enseñar la diferencia...