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?

questionAnswers(1)

yourAnswerToTheQuestion