Ruby Forum Rails-ES > leer xml de un .rxml y ponerlo en un pa rámetro de flash

Posted by Miguel angel Calleja lázaro (migue)
on 29.04.2008 17:53
(Received via mailing list)
Hola amigos! estoy intentando sacar unos gráficos por flash leyendo xml.
Tengo un formulario de consultas, al submitar me lleva a un método
'search' donde construyo un array que será mi xml generado, me renderiza
el search.html.erb que contiene el flash y este flash me tiene que leer
el search.rxml.
def search
    #construyo el array según búsqueda
end

En search.rxml saco todo el xml generado con el array que obtengo.
El caso es en la vista cómo le digo que lea search.rxml

search.html.erb:
<OBJECT ......>
<PARAM NAME=movie
VALUE="/swf/charts.swf?library_path=charts_library&xml_source=sample.xml">
</object>


Si veis en param name hay un parámetro que es donde tengo que pasarle el
xml (&xml_source=sample.xml) es ahí donde tiene que leer search.rxml,
pero ahora mismo no se me ocurre cómo poder sacarlo, alguna sugerencia?
Gracias
Posted by Daniel Rodriguez Troitiño (Guest)
on 29.04.2008 18:08
(Received via mailing list)
2008/4/29 Miguel Angel Calleja Lázaro <mangelcl@yahoo.es>:
>  El caso es en la vista cómo le digo que lea search.rxml
>  pero ahora mismo no se me ocurre cómo poder sacarlo, alguna sugerencia?
>  Gracias
>  _______________________________________________
>  Ror-es mailing list
>  Ror-es@lists.simplelogica.net
>  http://lists.simplelogica.net/mailman/listinfo/ror-es
>

Primero, creo que archivo de vista XML debería terminar en
.xml.builder, no en .rxml.

Lo segundo, lo que pides debería solucionarse con lo siguiente en tu
search.html.erb:

<object ......>
<para name="movie"
value="/swf/charts.swf?library_path=charts_library&xml_source=<%=
search_url(:format => 'xml') %>">
</object>

Donde search_url sería el named route de tu método de búsqueda (al que
quizás le tengas que pasar más parámetros). Eso llamaría dos veces a
tu método search, cosa que deberías evitar de alguna forma, claro.

Suerte.
Posted by Miguel angel Calleja lázaro (migue)
on 29.04.2008 18:58
(Received via mailing list)
Daniel Rodriguez 
Troitiño escribió:>>
>>  Si veis en param name hay un parámetro que es donde tengo que pasarle el
> Primero, creo que archivo de vista XML debería terminar en
>
>   
Si, la verdad que leer el método dos veces es un tanto engorroso, pero
no se me ocurre otra forma. Respecto al .rxml seguí el ejemplo de [1]
donde dice que:


      Using REXML and Builder

To implement the XML handling for this application, we're going to need
a way of consuming XML, and a way of producing it. Fortunately every
Rails installation ships with REXML and Builder.

Builder is the standard Rails mechanism for producing XML. If you're
familiar with |.rhtml| files used for HTML templating then making the
requisite |.rxml| files won't be a great leap, and will integrate with
your application's controllers in just the same way. Here's a simple
example of producing some XML:

|xml.instruct! :xml, :version=>"1.0",
:encoding=>"UTF-8"
xml.example('version' => '2.0') do
  xml.foo("This is the title")
end|

The template produces this output:

|<?xml version="1.0"
encoding="UTF-8"?>
<example>
  <foo>This is the title</foo>
</example>|


Es el primer ejemplo que vi y así lo hice y me pinta bien el xml que 
quiero.

[1] http://www.xml.com/pub/a/2005/11/02/rest-on-rails.html?page=1