Rails - XmlSerialization con to_xml
Sicuramente avrete già usato il to_xml per serializzare un oggetto ActiveRecord in Xml, non è che ci sia niente di nuovo o molto da spiegare… ma come al solito invece di impiegare i soliti momenti ho perso più tempo cercando di inserire nell’xml anche i modelli collegati.
Senza leggere la documentazione credevo che si facesse prima la query e dopo si usasse il metodo to_xml. Se non sbaglio prima si faceva proprio così!!
Con il Rails 2.1 se provate da Shell ad usare l’:include noterete che gli oggetti inclusi non vengono visualizzati a meno che non li accediate direttamente, nel momento in cui li accedete l’eager-loading evita l’accesso al Database. Questo comportamento si riflette nel to_xml se fate:
1 Book.find(:all, :include => :author).to_xml
Nell’xml vedrete solamente il book e non l’author, se volete serializzare anche gli oggetti collegati dovete fare diversamente:
1 Book.find(:all).to_xml :include => :user 2 3 #Se dovete includere relazioni più profonde allora ricordate le parentesi {} 4 Book.find(:all).to_xml :include => {:user => {:include => :pictures}}


Estremamente interessante, grazie 1000.
E’ grandiosa anche la gestione dei named_scope che sono veramente notevoli, io li sto utilizzando a manetta e a livello di information hiding siamo alle stelle !!!