2012-09-03 15 views
9

Sto provando a eseguire una ricerca (con dati di ember) su altri parametri rispetto all'id, due parametri in realtà.return single record con ember-data find() e più parametri

ma tutto quello che ottiene indietro è:

"Uncaught Error: assertion failed: Your server returned a hash with the key customer but you have no mappings". 

Dopo aver scavato intorno nel codice vedo che il metodo find delegati al metodo di findQuery quando dato un hash, che creano una DS.AdapterPopulatedRecordArray ma torno solo un singolo oggetto cliente nel mio jSON:

{"customer":{ 
"id":24857,"name":"Kim Fransman","id_number":"XXXX","email":"[email protected]","type":"Person"}} 

posso risolvere questo avvolgendo il mio jSON in un array di clienti e loop attraverso di loro nella mia ettari vista da dietro, ma questo sembra molto sbagliato.

C'è un modo per farlo con ember-data oggi?

risposta

3

Ho avuto un problema simile e ho aperto una domanda qui. Fondamentalmente questa è una proprietà non documentata di RESTAdapter che devi configurare in base ai tuoi modelli. Dovrete definirla in modo simile a questo:

App.Store = DS.Store.extend({ 
    adapter: DS.RESTAdapter.create({ 
    bulkCommit: true, 
    mappings: { 
     // All your models will have to have a mapping defined, 
     // like this... 
     genres: 'App.Genre' 
    } 
    }), 
    revision: 4 
}); 

leggi la mia domanda qui: Ember-Data: How do "mappings" work

spero che aiuta.

+1

Grazie! Ora non uso più quel codice ma questo probabilmente aiuterà qualcun altro che googla! –

+0

Non sono sicuro di quale versione si sta utilizzando, ma nel ramo dei miglioramenti delle relazioni sembra che la classe del modello DS debba essere citata nell'oggetto mapping, ad es. 'mapping: {generi: 'App.Genera'}'. –