Hola a todos,
Tengo una aplicación REST con un método en el controlador asÃ:
def index
@sdrs = Sdr.find(:all)
respond_to do |format|
format.html
format.xml
end
end
Mi plantilla RXML está bien construÃda, pero cuando ejecuto la petición
con XML, el resultado está rodeado por el layout HTML de la aplicación,
algo asà como:
¿Cómo podrÃa solucionarlo? Porque con un render :layout=>false no
funciona.
Gracias.
Hola Damaris, creo que te falto un pequeño ingrediente:
def index
@sdrs = Sdr.find(:all)
respond_to do |format|
format.html
format.xml {render :xml => @categorias}
end
end
Saludos.
El dÃa 6/01/08, Damaris F. [email protected]
escribió:
Um…no :D,
vamos, en principio al poner sólo format.xml coge directamente la
plantilla RXML.
Esta plantilla es asÃ:
xml.instruct!
xml.sdrs do
for sdr in @sdrs
xml.sdr do
xml.miliseg_ini(sdr.miliseg_ini)
xml.miliseg_fin(sdr.miliseg_fin)
end
end
end
Y efectivamente los datos los saca bien, pero ya digo que los rodea con
el código HTML del layout de la aplicación.
No entiendo lo que quieres decir 
En la vista tengo un index.rhtml que sale bien, y el index.rxml.
Dependiendo de cómo haga la petición REST, pues me devuelve una u otra.
Pero el XML me devuelve no solo el xml sino html por arriba y por abajo
(también con curl)
Una posibilidad es que tengas una sola vista action.rxml y no estes
disparando el format.xml. Si es el caso sucede que entra por
format.html, y echa action.rxml con el layout.
Sabras si lo tienes bien programado probando por ejemplo con curl:
curl -H 'Accept: text/xml' http://localhost:3000/
O es que quieres servir lo mismo si te piden html?
– fxn
On Jan 6, 2008, at 6:37 PM, Damaris F. wrote:
No entiendo lo que quieres decir 
En la vista tengo un index.rhtml que sale bien, y el index.rxml.
Dependiendo de cómo haga la petición REST, pues me devuelve una u
otra.
Pero el XML me devuelve no solo el xml sino html por arriba y por
abajo
(también con curl)
Sin mas informacion no se que puede suceder, pero si sirve de algo
para que el layout no salga no hay que hacer nada. Si sale debe ser
que hay algun detalle añadido que se escapa.
Tienes alguna macro “layout” en el controlador por ejemplo?
– fxn
On Jan 6, 2008, at 5:01 PM, Damaris F. wrote:
end
end
end
Y efectivamente los datos los saca bien, pero ya digo que los rodea
con
el código HTML del layout de la aplicación.
Una posibilidad es que tengas una sola vista action.rxml y no estes
disparando el format.xml. Si es el caso sucede que entra por
format.html, y echa action.rxml con el layout.
Sabras si lo tienes bien programado probando por ejemplo con curl:
curl -H 'Accept: text/xml' http://localhost:3000/
O es que quieres servir lo mismo si te piden html?
– fxn
Resuelto (me lo han chivado en el foro de habla inglesa)
Una solución es poner en el controlador:
exempt_from_layout :rxml
Porque por defecto sà se puede aplicar el layout a otros arhcivos que no
sean html, como este XML (http://dev.rubyonrails.org/ticket/7682).
Gracias!
On Jan 6, 2008, at 8:49 PM, Damaris F. wrote:
Resuelto (me lo han chivado en el foro de habla inglesa)
Una solución es poner en el controlador:
exempt_from_layout :rxml
Porque por defecto sí se puede aplicar el layout a otros arhcivos
que no
sean html, como este XML (http://dev.rubyonrails.org/ticket/7682).
Hum, no lo pude reproducir, quiza cambio entonces.