使用rabl和集合,无法添加额外的子节点

时间:2012-05-18 23:11:24

标签: ruby-on-rails-3 json rabl

我想在json响应中显示一系列文章。我还想导出一个关于所请求的json请求类型的节点。

index.json.rabl

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

show.json.rabl

object @article
attributes :foo

所以转到articles.json会给我:

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

我想做的是得到这样的结果:

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

我尝试将node(:rss){“yadda yadda”}放在index.json.rabl文件中,但只将节点:rss添加到每篇文章中。

我尝试使用

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

在索引和show文件中都没有像我希望的那样工作。

我尝试了很多其他的东西,但此时我只是猜测。

1 个答案:

答案 0 :(得分:9)

啊,我明白了。我决定不使用“collection @articles”

index.json.rabl

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

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