Ответ 1
json.set! :variations do
@variations.each do |variation|
json.set! variation.product_code do
json.(variation, :available, :price)
end
end
end
^^ это должно сделать это
Я пытаюсь создать JSON файл для доступа к вариации продукта с помощью вариационного кода. В идеале я мог бы назвать vari.abcdefgh, по существу, просить определить такую структуру:
{
"variations":{
"abcdefgh":{
"available":true,
"price":"12.00"
},
"ijklmnop":{
"available":false,
"price":"25.00"
}
}
}
Выполнение чего-то в продуктах /show.json.jbuilder как
json.variations @product.variations
дает мне форматирование как таковое:
{
"variations":[
{
"available":true,
"price":"12.00",
"product_code":"abcdefgh"
},
{
"available":true,
"price":"25.00",
"product_code":"ijklmnop"
}
]
}
Возможно, мой JavaScript может быть лучше, но я хочу что-то более доступное на основе product_code. Самое близкое, что я получил, было
@product.variations.each do |variation|
json.set! variation.product_code, variation
end
но я еще не нашел решение, которое поместит эти правильно отформатированные объекты в виде детей в атрибут разновидностей. Кто-нибудь сталкивался с чем-то подобным раньше?
json.set! :variations do
@variations.each do |variation|
json.set! variation.product_code do
json.(variation, :available, :price)
end
end
end
^^ это должно сделать это