Sto usando la gemma RABL per rendere i dati utente JSON per gli utenti di commenti che sono figli di annotazioni che sono figli di immagini. Mi piacerebbe fare qualcosa di simile a:Rails 3.1 nidificazione profonda con RABL
object @image
node :annotations do
@image.annotations.map { |a| {
:id => a.id,
:x1 => a.x1,
:x2 => a.x2,
:y1 => a.y1,
:y2 => a.y2,
node :comments do
@image.annotations.comments.map { |c| {
:body => c.body,
:user_id => c.user_id,
:name => User.find(c.user_id).name,
:user_icon => user_icon(User.find(c.user_id), 'square', 30)
}}
end
}}
end
So che questo non è valido per Rabl, ho anche provato ad utilizzare bambino al posto del nodo, ma non poteva accedere ai dati degli utenti in questo modo. Come dovrei andare a fare questo e qual è la sintassi corretta per farlo accadere?
+1. questo modo di creare un hash in un blocco salva un paio di righe ma è un po 'confuso (e unidiomatico). Stavo per aggiornarlo, ma, immagino, dopotutto non è poi così male. – tokland