Chaves dinâmicas do JBuilder para atributos do modelo
Estou tentando criar um arquivo JSON para acessar a variação de um produto por meio de um código de variação. Idealmente, eu poderia chamar variações.abcdefgh essencialmente pedindo para definir uma estrutura como esta:
{
"variations":{
"abcdefgh":{
"available":true,
"price":"12.00"
},
"ijklmnop":{
"available":false,
"price":"25.00"
}
}
}
Fazendo algo em produtos / show.json.jbuilder como
json.variations @product.variations
me dá a formatação como tal:
{
"variations":[
{
"available":true,
"price":"12.00",
"product_code":"abcdefgh"
},
{
"available":true,
"price":"25.00",
"product_code":"ijklmnop"
}
]
}
talvez meu JavaScript possa ser melhor, mas quero algo um pouco mais acessível com base no product_code. O mais próximo que eu cheguei foi
@product.variations.each do |variation|
json.set! variation.product_code, variation
end
mas ainda não encontrei uma solução que coloque esses objetos formatados corretamente como filhos em um atributo de variações. Alguém se deparou com algo semelhante antes?