我正在尝试使用jBuilder构建一个自定义数组,这是我的javascript函数所需的结构。在这种情况下,它们只是数组中的一个对象。我知道array!
方法,但这需要使用集合。如何强制jbuilder在对象周围包装数组?我正在寻找的结构如下所示:
object = {
customArray : [{ someKey : 'somevalue' }]
}
答案 0 :(得分:2)
不确定这是否是您要求的,但您可以这样做:
x = { :someKey => 'somevalue' }
Jbuilder.encode do |json|
json.customArray Array.wrap(x)
end
Array#wrap
由ActiveSupport
提供,它将一个项目包装在一个数组中(除非它是一个数组)。它也不会像其他方法那样打破Hash
(例如Array(x)
,x.to_a
,[*x]
)。