将RABL响应对象包装到数组中

时间:2016-03-31 14:13:06

标签: ruby-on-rails ruby api rabl

给出以下代码:

object false

node(:display){"comments"}
node :payload do
  @comments.map do |c|
    { 
      :id => c.id,
      :content => c.content
    }
  end
end

导致以下输出:

{
    display: "comments",
    payload: [
        {
            id: 35,
            content: "A nice one"
        },
        {
            id: 40,
            content: "Supah dupa"
        }
    ]
}

我想将输出包装成一个数组,关于如何实现它的任何想法?

1 个答案:

答案 0 :(得分:1)

你的意思是整个回应?我不确定你对包装输出的意思。你能提供你正在寻找的输出的例子吗?

如果你想要在数组中包含所有内容,将它们包装在一个空节点中应该可以解决问题:

object false

node do
  node(:display){"comments"}
  node :payload do
    @comments.map do |c|
      { 
        :id => c.id,
        :content => c.content
      }
    end
  end
end