2015-11-12 15 views
5

Attualmente sto cercando di capire come accedere ai metadati quando si utilizza la chiamata store.findRecord().Ember.js: Come accedere ai metadati dell'API JSON dalla chiamata store.findRecord

Nelle guide (http://guides.emberjs.com/v2.1.0/models/handling-metadata/) si dice che i metadati si può accedere nel modo seguente:

store.query('post').then((result) => { 
    let meta = result.get('meta'); 
}) 

Speravo che questo avrebbe funzionato quando si utilizza findRecord così

store.findRecord('book', params.id, {adapterOptions: {query: params}}).then((result) => { 
    let meta = result.get('meta'); 
}) 

Tuttavia questo sempre restituisce undefined per la proprietà meta. Suppongo che i metadati non vengano impostati quando si utilizza findRecord. Sto tornando valida JSON-API con una proprietà meta al livello più alto in questo modo:

{ 
    "meta": { 
    "page": { 
     "number": 1, 
     "size": 100, 
     "total": 20 
    }, 
    "data":[ 
     // data here 
    ] 
    } 
} 

C'è un modo per accedere ai metadati restituito dal server quando si utilizza TrovaRecord() e il JSONAPISerializer e JSONAPIAdapters?

Grazie!

Sto usando le seguenti versioni:

Ember    : 2.1.0 
Ember Data  : 2.1.0 
jQuery   : 1.11.3 
+0

Il record è già presente nel negozio quando si esegue findRecord? –

+0

Bel pensiero ma non è già presente nel negozio. Ho anche verificato che l'ispettore di Chrome fosse in grado di eseguire la richiesta di rete ed è così. Sto iniziando a pensare che questo non sia supportato al momento. Sulla base di alcune discussioni in sospeso, sembra che la meta chiave funzioni solo sulle raccolte. – Sarus

+0

Dai un'occhiata alle Guide di Brace su 'query' vs' queryRecord' vs 'findRecord' ecc. Penso che quello che stai cercando di fare con' findRecord' non sia possibile: http: //guides.emberjs. com/v2.1.0/models/finding-records/ – vikram7

risposta

2

metadati non sono supportate per-record di base, si può contare di avere a disposizione se si utilizza store.query() o quando il recupero relazioni. Citando:

Per ora, Ember Data comprende solo un meta oggetto di livello superiore su query e relazioni (tramite collegamenti correlati).

Dai un'occhiata al seguente github thread per ulteriori informazioni.

+2

FYI Ho postato qui in un modo che è possibile ottenere questo: http://stackoverflow.com/questions/35514055/how-to-access-top-level-meta-key-from-json-api-servers-200-response -quando-Callin/38312846 # 38312846 – Sarus

Problemi correlati