我正在尝试构建一个JSON文件,以通过变体代码访问产品的变体。理想情况下,我可以调用variations.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
但我还没有找到一个解决方案,将这些正确格式化的对象作为子项放入变体属性中。有没有人遇到过类似的东西?
答案 0 :(得分:35)
json.set! :variations do
@variations.each do |variation|
json.set! variation.product_code do
json.(variation, :available, :price)
end
end
end
^^这应该这样做