2015-07-22 46 views
1

高科技方面:導軌4.2.2,active_model_serializers 0.10.0.rc2 給出一個購物車和產品的列表,當我將產品添加到我期望得到的響應車:jsonapi和active_mode_serializers如何在響應中獲得關係屬性?

{ 
"data": { 
    "id": "575", 
    "type": "carts", 
    "attributes": { 
    "name": "cart 1" 
    }, 
    "relationships": { 
    "cart_products": { 
     "data": [ 
     { 
      "type": "cart_products", 
      "id": "32", 
      "attributes": { 
      "product_id": 456 
      } 
     } 
     ] 
    } 
    } 
} 
} 

不幸的是, 當前響應是

{ 
"data": { 
"id": "575", 
"type": "carts", 
"attributes": { 
    "name": "cart 1" 
}, 
"relationships": { 
    "cart_products": { 
    "data": [ 
     { 
     "type": "cart_products", 
     "id": "32", 

     } 
    ] 
    } 
} 

}}

是那裏有關係的屬性呈現的方式?

+0

你得到解決? – shivaP

回答

4

JSON:API規範解釋了關係數據應該如何。你所要求的實際上是要嵌套,或者更好的是按照規範「包含」。

我建議你讀了一下那邊http://jsonapi.org/format/#document-compound-documents有關規範的更多詳細信息,關於包括/嵌套關係

此外,關於你的問題,你需要告訴你的串行呈現包括元素,像這樣:render @posts, include: ['authors', 'comments'] 這裏看到更多的信息:https://github.com/rails-api/active_model_serializers

+0

hi @infinityzxx:我已經添加了像render分支的命令,包括:['installations']在我的控制器中。但是我沒有獲得安裝表的所有屬性。我錯過了什麼 – shivaP

+0

我很不幸不是一個鐵軌專家,我建議你就這個話題創建自己的問題。 – infinityzxx