2015-10-16 122 views
0

我想從API中獲得以下響應來定義Ember數據模型。我在定義num_activity_per_map字段時遇到了問題,因爲它是JSON對象的數組,但是它們沒有ID。如果我使用DS.hasMany('activityPerDate',{async:true})抱怨它沒有主鍵。Ember數據:映射陣列

{ 
"stats": { 
    "num_users": 44, 
    "num_activity_per_date": [ 
     { 
      "date": "04-10-2015", 
      "count": 6 
     }, 
     { 
      "date": "05-10-2015", 
      "count": 8 
     }, 
     { 
      "date": "06-10-2015", 
      "count": 7 
     }, 
     { 
      "date": "07-10-2015", 
      "count": 5 
     }, 
     { 
      "date": "08-10-2015", 
      "count": 3 
     } 
    ], 
    } 
} 

回答

0

您有幾種不同的選擇:

  1. 款待num_activity_per_date通過使用DS.attr()宣佈它的原始屬性。
  2. 款待num_activity_per_date爲自寫一個custom transform屬性類型。
  3. num_activity_per_date作爲embedded relationship

好像你可能想要去與#3。您將要覆蓋串行父模型看起來像這樣:

import DS from 'ember-data'; 

export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, { 
    attrs: { 
     activityPerDate: { embedded: 'always' } 
    } 
}); 

然後聲明activityPerDate: DS.hasMany('activityPerDate')應該照顧。 (我說應該是因爲我從來沒有得到過嵌入式記錄才能正常工作,但是我也嘗試過很長時間了。)YMMV。)