2013-03-05 1 views
4

Je soumets un objet à notre API via un POST, puis la transition vers un itinéraire qui affiche cet objet. L'API modifie un ou plusieurs champs de l'objet dans le POST et renvoie les informations mises à jour dans la réponse à la demande.Comment puis-je forcer des données d'appartenance à actualiser un objet après l'avoir validé?

Les données affichées sont les données d'origine d'avant le test POST à ​​notre API. Je peux voir à partir de la console que ember-data reçoit les informations mises à jour de notre API. Comment puis-je forcer le brai à "rafraîchir" l'objet afin qu'il affiche les informations correctes?

Répondre

3

Matt. Yehuda Katz a posté une réponse à un utilisateur qui fournit cette fonctionnalité:

https://stackoverflow.com/a/14183507/506230

Fondamentalement, vous créez un enregistrement, l'appliquer, enregistrez-le, puis le recharger.

saveMessage: function(text){ 
    var acct = Social.Account.find(this.get("id")), 
     msg = Social.store.createRecord(
        Social.Message, 
        { 
         text: text, 
         account: acct, 
         created: new Date() 
        } 
       ); 

    acct.get("messages").addObject(msg); 
    Social.store.commit(); 

    var timeoutID = window.setTimeout(function(){ 
     __msg.reload();__ 
     console.log('reloading'); 
    }, 250); 
} 
1

Il s'est avéré que le brai se comportait bien et qu'aucun travail supplémentaire n'était nécessaire. Le problème est que je mettais une variable sur le contrôleur avec le même nom qu'une propriété calculée sur mon modèle. La valeur de la variable sur le contrôleur était affichée plutôt que la propriété calculée. La modification du nom de la variable du contrôleur a résolu le problème sans aucun code supplémentaire.

Questions connexes