Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using rabl and a collection, having trouble adding additional child node

I have a collection of articles I want to show in my json response. I would also like to export a node about the type of json request asked.

index.json.rabl

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

show.json.rabl

object @article
attributes :foo

So going to articles.json gives me:

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

What I would like to do is get results like this:

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

I have tried putting node(:rss) { "yadda yadda" } in the index.json.rabl file, but that only adds the node :rss into the each article.

I tried using

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

in both the index and show files and neither worked as I was hoping.

I have tried numerous other things, but at this point I am only guess now.

like image 282
Aaron Thomas Avatar asked May 18 '12 23:05

Aaron Thomas


1 Answers

Ah... I figure it out. I decided not to use "collection @articles"

index.json.rabl

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

node :headlines do
  partial(@jsonView, :object => @articles)
end
like image 192
Aaron Thomas Avatar answered Jan 21 '23 03:01

Aaron Thomas