相关疑难解决方法(0)

用于模型属性的JBuilder动态键

我正在尝试构建一个JSON文件,以通过变体代码访问产品的变体.理想情况下,我可以调用variations.abcdefgh,基本上要求定义这样的结构:

{
   "variations":{
      "abcdefgh":{
         "available":true,
         "price":"12.00"
      },
      "ijklmnop":{
         "available":false,
         "price":"25.00"
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

在products/show.json.jbuilder中做一些事情

json.variations @product.variations
Run Code Online (Sandbox Code Playgroud)

给我格式化如下:

{
   "variations":[
      {
         "available":true,
         "price":"12.00",
         "product_code":"abcdefgh"
      },
      {
         "available":true,
         "price":"25.00",
         "product_code":"ijklmnop"
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

也许我的JavaScript可能会更好,但我想要一些基于product_code更容易访问的东西.我得到的最接近的是

@product.variations.each do |variation|
   json.set! variation.product_code, variation
end
Run Code Online (Sandbox Code Playgroud)

但我还没有找到一个解决方案,将这些正确格式化的对象作为子项放入变体属性中.有没有人遇到过类似的事情?

json ruby-on-rails jbuilder

17
推荐指数
1
解决办法
8329
查看次数

标签 统计

jbuilder ×1

json ×1

ruby-on-rails ×1