2013-08-23 4 views

risposta

9

È possibile convertire prima in json. Il metodo predefinito ActiveRecord as_json consente di includere associazioni. Da lì, è semplice convertire in yaml. Esempio:

menu.as_json(include: :dishes).to_yaml 
+1

Trovo che questo non funziona (Rails 3.2.13, Ruby 1.9.3). – JellicleCat

+0

Grazie, @JellicleCat. Ho appena testato la mia risposta originale su rails 3.2.13, e ho scoperto che l'opzione 'include' non faceva nulla quando passava al metodo' to_yaml'. Ho aggiornato la mia risposta per suggerire la conversione in json prima (che rispetta l'opzione 'include'), quindi la conversione in yaml. – mchail

+0

Questo non funziona anche in Rails 4, Ruby 2. Votare giù. – Sixty4Bit

4

to_yaml ignora il parametro includere ... ma si potrebbe procedere come segue:

Hash.from_xml(menu.to_xml include: :dishes).to_yaml 
Problemi correlati