ruby-on-rails – 用于模型属性的JBuilder动态键

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 用于模型属性的JBuilder动态键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试构建一个 JSON文件,通过变体代码访问产品的变体.理想情况下,我可以调用vary.abcdefgh来基本上要求定义一个这样的结构:
  1. {
  2. "variations":{
  3. "abcdefgh":{
  4. "available":true,"price":"12.00"
  5. },"ijklmnop":{
  6. "available":false,"price":"25.00"
  7. }
  8. }
  9. }

在products / show.json.jbuilder中做某事

  1. json.variations @product.variations

给我格式如下:

  1. {
  2. "variations":[
  3. {
  4. "available":true,"price":"12.00","product_code":"abcdefgh"
  5. },{
  6. "available":true,"price":"25.00","product_code":"ijklmnop"
  7. }
  8. ]
  9. }

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

  1. @product.variations.each do |variation|
  2. json.set! variation.product_code,variation
  3. end

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

解决方法

  1. json.set! :variations do
  2. @variations.each do |variation|
  3. json.set! variation.product_code do
  4. json.(variation,:available,:price)
  5. end
  6. end
  7. end

^^这应该做

猜你在找的Ruby相关文章