Utilizar to_xml con asociaciones

Hola a todos,

Estos intentando serializar un modelo con sus asociaciones en xml pero
no consigo dar con ello.

Para un único modelo, si queremos una serie de campos tendría lo
siguiente:

@track.to_xml(:except => [:created_at, :update_at, :other_field])

Es decir, para cada modelo es sencillo indicar que queremos serializar.

Pero por ejemplo con los siguiente modelos

Catalog < ActiveRecord::Base
has_many :tracks
has_many :playlists
end

Track < ActiveRecord::Base
belongs_to :album
belongs_to :artist
end

Si quiero serializar un objeto Catalog, supongo que debería proceder así
(incluyendo toda su infomación)
@catalog.to_xml(:include => {:playlists, :tracks => {:include =>
[:album, :artist]}})

Pero esto produce un error en la instrucción y no se realiza. Lo que
creo es que debería ser posible sobreescribir el método
para cada modelo y así poder serializar como uno quiera pero no consigo
hacerlo.

Si alguien tiene alguna sugerencia se lo agredecería (plugin
CustomXMLSerialization tal vez)

Un saludo

On Mar 21, 2008, at 20:11 , Paco G. Rivas wrote:

Si quiero serializar un objeto Catalog, supongo que debería proceder
así (incluyendo toda su infomación)
@catalog.to_xml(:include => {:playlists, :tracks => {:include =>
[:album, :artist]}})

Me parece que hay que poner :playlists => {} para decir que sobre la
asociacion :playlists no hay mas opciones:

{:playlists => {}, :tracks => {:include => [:album, :artist]}}

– fxn

On Mar 21, 2008, at 21:20 , Xavier N. wrote:

On Mar 21, 2008, at 20:11 , Paco G. Rivas wrote:

Si quiero serializar un objeto Catalog, supongo que debería
proceder así (incluyendo toda su infomación)
@catalog.to_xml(:include => {:playlists, :tracks => {:include =>
[:album, :artist]}})

Me parece que hay que poner :playlists => {} para decir que sobre la
asociacion :playlists no hay mas opciones:

{:playlists => {}, :tracks => {:include => [:album, :artist]}}

Ya esta documentado en trunk.

– fxn

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs