2013-09-29 4 views
2

J'écris un adaptateur Ember-Data pour le Rhom API. J'ai écrit le code. Je l'utilise dans une simple application Todo. Lorsque je crée un nouvel élément, il entre dans la base de données SQLite. Mais lorsque je démarre l'application, les applications existantes ne sont pas chargées dans le magasin.Adaptateur personnalisé Ember-Data pour Rhom - FindAll Ne fonctionne pas

J'ai écrit un console.log dans le findAll de mon adaptateur et je peux voir qu'il obtient un tableau d'objet de l'API Rhom et renvoie une promesse avec ces résultats. Mais pourquoi ne pas charger dans le magasin?

J'ai utilisé l'adaptateur localstorage comme exemple et l'ai fait. Voici mon findAll:

extractVars: function(rhomRecord) { 
    return rhomRecord.vars(); 
}, 

sourceIdToId: function(record) { 
    record["id"] = record.source_id; 
    return record; 
}, 

findAll: function(store, type) { 
     var records = Rho.ORM.getModel(this.model).find('all'); 
     var results = records.map(this.extractVars); 
     var results = results.map(this.sourceIdToId); 
     console.log(results); 
     return Ember.RSVP.resolve(results); 
    }, 

Comme vous pouvez le voir, les impressions CONSOLE.LOG suivantes et sur son juste un tableau d'objets qui contiennent ce que je dois. Quand j'ai essayé avec le locastorate, il a également retourné un même genre d'objets.

Que dois-je faire?

enter image description here

PS: Le extractVars et sourceIdtoId sont à auxillary propery extraire les objets des enregistrements renvoyés par Rohm.

Répondre

0

Je ne suis pas sûr si cela va vous aider, mais je suppose que juste parce que .find() retourne une promesse que vous devez utiliser la fonction de rappel .then() pour résoudre votre modèle:

findAll: function(store, type) { 
    return Rho.ORM.getModel(this.model).find('all').then(function(records) { 
    var results = records.map(this.extractVars); 
    var results = results.map(this.sourceIdToId); 
    console.log(results); 
    return Ember.RSVP.resolve(results); 
    }); 
} 

Hope it helps.

+0

Salut, je ne pense pas que Rho ORM rende une promesse. Il renvoie juste un tableau simple. (à partir de la source). Quoi qu'il en soit, je vais essayer. –

+0

Ai-je besoin d'écrire un Serializer personnalisé ou quelque chose? Je suis vraiment perdu. –

Questions connexes