2012-05-18 13 views
5

Tengo una colección de artículos que quiero mostrar en mi respuesta json. También me gustaría exportar un nodo sobre el tipo de solicitud de json.Usando rabl y una colección, teniendo problemas para agregar nodo secundario adicional

index.json.rabl

collection @articles => :headlines 
extends 'articles/show' 

show.json.rabl

object @article 
attributes :foo 

Así que va a articles.json me da:

{"headlines":[{"foo":thing1},{"foo":thing2}]} 

Lo que me gustaría hacer es obtener resultados como este:

{"rss":{"name":"articles","woot":"what?"}, 
{"headlines":[{"foo":thing1},{"foo":thing2}]} 

He intentado poner node (: rss) {"yadda yadda"} en el archivo index.json.rabl, pero eso solo agrega el nodo: rss en cada artículo.

He intentado utilizar

glue @article do 
    node(:rss) { "yadda yadda" } 
end 

tanto en los archivos de índice y la demostración y no funcionó como esperaba.

He intentado muchas otras cosas, pero en este punto solo estoy de acuerdo ahora.

Respuesta

9

Ah ... lo descubro. Decidí no utilizar "@articles colección"

index.json.rabl

object false 
node(:rss) { partial('articles/rss.json.rabl', :object => @feedName) } 

node :headlines do 
    partial(@jsonView, :object => @articles) 
end 
+0

lo que es la variable @jsonView? Me estoy encontrando con un problema similar. –

+0

Probablemente solo una cadena que nombra qué parte parcial quiere representar (una con más o menos detalles, por ejemplo), tal vez se decidió por alguna parte de los parámetros de la consulta. p.ej. '/articles.json => @jsonView =" articles/light ", /articles.json?detailed=true => @jsonView =" article/detailed "' – Soup

Cuestiones relacionadas