Próbuję utworzyć plik JSON, aby uzyskać dostęp do wersji produktu za pomocą kodu zmiany. Idealnie, mogę zadzwonić variations.abcdefgh istocie zdefiniować strukturę takiego:Klucze dynamiczne JBuildera dla atrybutów modelu
{
"variations":{
"abcdefgh":{
"available":true,
"price":"12.00"
},
"ijklmnop":{
"available":false,
"price":"25.00"
}
}
}
Uprawiając produktami/show.json.jbuilder jak
json.variations @product.variations
daje mi formatowania takie jak:
{
"variations":[
{
"available":true,
"price":"12.00",
"product_code":"abcdefgh"
},
{
"available":true,
"price":"25.00",
"product_code":"ijklmnop"
}
]
}
Może mój JavaScript może być lepszy, ale chcę czegoś bardziej dostępnego w oparciu o kod produktu. Najbliższy stałam został
@product.variations.each do |variation|
json.set! variation.product_code, variation
end
ale mam jeszcze do znalezienia rozwiązania, które będzie można umieścić te prawidłowo sformatowanych obiektów jak dzieci w atrybut odmiany. Ktoś już kiedyś ma coś podobnego?
Doskonałe. Bardzo dobre rozwiązanie! –