Problema con request.xml_http_request?


#1

No se porque cuando hago una llamada xml:_http_request con un
link_remote_to siempre me devuelve falso.

Esto es el código de la vista index del controlador.

<%=
if request.xml_http_request?
render :partial => “list_pagos”, :layout => false
else
render :partial => “list_pagos”
end
%>

Es decir si es request.xml_http_request renderiza un partial de
list_pagos sin layout y sino con layout. Esto es para que actualice un
div con un link_remote_to.

Alguna pista?

Ruby 1.8.6 on Rails 2.3.2


#2

Buenas,
¿no sería mejor que eso fuera en el controlador? es decir, al
controlador le
llegará la petición y él decidirá si usa layout o no en función del tipo
y
ya en la vista se mostrará el contenido renderizado donde le hayas dicho
que
se actualice

saludos

2009/4/29 Js Ponja removed_email_address@domain.invalid


#3

Borja Martín wrote:

Buenas,
¿no sería mejor que eso fuera en el controlador? es decir, al
controlador le
llegará la petición y él decidirá si usa layout o no en función del tipo
y
ya en la vista se mostrará el contenido renderizado donde le hayas dicho
que
se actualice

saludos

Correcto. Es así como lo quería hacer en un principio pero no funcionó y
era porque me daba un error de double render que para solucianorlo debía
ponerlo así:

if request.xml_http_request?
render :partial => "list_pagos", :layout => false

else
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @pagos }
end
end

ahora si funciona.

Gracias compañero.


#4

ponerlo así:

if request.xml_http_request?
render :partial => "list_pagos", :layout => false

else
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @pagos }
end
end

bueno ya puestos creo que es más correcto de esta manera:

 respond_to do |format|
   format.html
   format.xml  { render :xml => @pagos }
   format.js   {render :partial => "list_pagos", :layout => false}
end

saludos!