2013-07-12 4 views
0

J'essaye d'utiliser jBuilder pour construire un tableau personnalisé qui est la structure nécessaire pour ma fonction javascript. Dans ce cas, leur est seulement 1 objet dans le tableau. Je suis au courant de la méthode array!, mais cela nécessite l'utilisation d'une collection. Comment puis-je forcer jbuilder à envelopper un tableau autour de l'objet? Structure Je cherche est présenté ci-dessous:Création d'un tableau personnalisé avec jBuilder

object = { 
    customArray : [{ someKey : 'somevalue' }] 
} 

Répondre

2

Je ne sais pas si c'est ce que vous demandez, mais vous pouvez faire:

x = { :someKey => 'somevalue' } 
Jbuilder.encode do |json| 
    json.customArray Array.wrap(x) 
end 

Array#wrap est fourni par ActiveSupport et termineront un élément un tableau (sauf s'il s'agit d'un tableau). Il ne cassera pas non plus votre Hash comme le font d'autres méthodes (par exemple, Array(x), x.to_a, [*x]).