Claves dinámicas de JBuilder para atributos de modelo
Estoy tratando de construir un archivo JSON para acceder a la variación de un producto a través de un código de variación. Idealmente, podría llamar variaciones.abcdefgh esencialmente pidiendo definir una estructura como esta:
{
"variations":{
"abcdefgh":{
"available":true,
"price":"12.00"
},
"ijklmnop":{
"available":false,
"price":"25.00"
}
}
}
Hacer algo en products / show.json.jbuilder como
json.variations @product.variations
Me da el formato como tal:
{
"variations":[
{
"available":true,
"price":"12.00",
"product_code":"abcdefgh"
},
{
"available":true,
"price":"25.00",
"product_code":"ijklmnop"
}
]
}
tal vez mi JavaScript podría ser mejor, pero quiero algo un poco más accesible basado en el product_code. Lo más cerca que he estado ha sido
@product.variations.each do |variation|
json.set! variation.product_code, variation
end
pero aún no he encontrado una solución que ponga estos objetos correctamente formateados como hijos en un atributo de variaciones. ¿Alguien se ha encontrado con algo similar antes?