2016-05-26 5 views
0

を失っている私は、次のように定義されたチケットの統計と呼ばれるモデル、があります。このためエンバー-データ:JSONデータに埋め込まれたオブジェクトは

import Model from 'ember-data/model'; 
import attr from 'ember-data/attr'; 

export default Model.extend({ 

    opened24Hours: attr('number'), 
    miRelated: attr('number'), 
    autoClosed24Hours: attr('number'), 
    inQueue: attr('number'), 
    activeGreater48: attr('number'), 
    behindNct: attr('number'), 
    manuallyClosed24Hours: attr('number'), 
    handoff: attr('number') 

}); 

データを以下のJSONを生成するサービスから来ている:

私のモデルARの属性の

import JSONSerializer from 'ember-data/serializers/json'; 

export default JSONSerializer.extend({ 

    normalizeResponse(store, primaryModelClass, payload, id, requestType) { 
     console.log(payload); 
     var data = {}; 
     data.id = 1; 
     data.opened24Hours = payload.get_tickets.tickets_opened_last_24_hours.value; 
     data.miRelated = payload.get_tickets.mi_related_tickets.value; 
     data.autoClosed24Hours = payload.get_tickets.tickets_closed_goliath_last_24_hour.value; 
     data.inQueue = payload.get_tickets.tickets_in_queue.value; 
     data.activeGreater48 = payload.get_tickets.active_greater_48.value; 
     data.behindNct = payload.get_tickets.behind_nct.value; 
     data.manuallyClosed24Hours = payload.get_tickets.tickets_closed_last_24_hours.value; 
     data.handoff = payload.get_tickets.handoff_tickets.value; 

     return this._super(store, primaryModelClass, data, id, requestType); 
    } 

}); 

値:

{ 
    "get_tickets": { 
    "behind_nct": { 
     "inequality": null, 
     "stat_name": "Behind NCT", 
     "value": 0, 
     "update_time": "2016-05-26 18:05:11", 
     "threshold": null 
     }, 
     ... 
    } 
} 

は、私がこのモデルのカスタム・シリアライザを持っていますすべてnull。私は、コンソール上のペイロードを見てみると、私は最も内側のオブジェクト(すなわちbehind_nct)が正しい属性が含まれていないことを参照してください。

behind_nct: Object 
    __proto__: Object 
    __defineGetter__ : __defineGetter__() 
    __defineSetter__ : __defineSetter__() 
    __lookupGetter__ : __lookupGetter__() 
    __lookupSetter__ : __lookupSetter__() 
    constructor : Object() 
    hasOwnProperty : hasOwnProperty() 
    isPrototypeOf : isPrototypeOf() 
    propertyIsEnumerable : propertyIsEnumerable() 
    toLocaleString : toLocaleString() 
    toString : toString() 
    valueOf : valueOf() 
    get __proto__ : get __proto__() 
    set __proto__ : set __proto__() 

をJSON APIを使用してまたはエンバーの私の設定に何か問題はありますモデル?または両方?

私がjsonのURLに行くと、すべてうまく見えます。私はすべてのデータを見ることができます。

答えて

0

ご自分のサーバの応答から正しいJSON APIのペイロードを形成する必要があります。

let ticks= payload.get_tickets; 
let data= { 
    ticket_stats: [{ 
     opened24Hours: ticks.tickets_opened_last_24_hours.value, 
     // etc. etc. 
    }] 
}; 

あなたはペイロードにモデルタイプticket_statsを特定する必要があります。

関連する問題