2017-02-14 1 views
2

projet de Emberstr.replace est pas une fonction dans ember 2.1.0 Mise à niveau

ember.js 1.13.7

Ember-données 1.13.7

à

ember.js 2.1.0

Ember-données 2.1.0

Obtenir Ecart de traînage

TypeError: str.replace is not a function

modèle

(trends.js)

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    name:DS.attr('string',{defaultValue:''}), 
    daterangekey:DS.attr('number',{defaultValue:0}), 
    daterange:DS.attr(), 
    actiondata:DS.attr(), 
    criteria:DS.attr('string',{defaultValue:function(){ 
     return []; 
    }}), 
    unit:DS.attr('number',{defaultValue:1}), 
    viewtype:DS.attr('number',{defaultValue:3}) 
}); 

Route (trends.js)

import Ember from 'ember'; 

export default Ember.Route.extend({ 

    model:function() 
    { 
     return this.store.findAll('trend'); 
    }, 
}); 

charge utile retournant le serveur de formulaire est

{"trends":[{"viewtype":3,"name":"Trend A","daterangekey":0,"type":1,"unit":1,"actiondata":[{"label":"action 2","id":3}],"criteria":[],"id":"1000000000027"}]} 

Je suis vraiment en train d'envelopper ma tête autour EmberJS mais je suis coincé ici sur ce point pour les deux derniers jours!

Merci

Edité

modèle (trends.js)

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    name:DS.attr('string',{defaultValue:''}), 
    daterangekey:DS.attr('number',{defaultValue:0}), 
    daterange:DS.attr(), 
    actiondata:DS.attr(), 
    criteria:DS.attr({defaultValue:function(){ 
     return []; 
    }}), 
    unit:DS.attr('number',{defaultValue:1}), 
    viewtype:DS.attr('number',{defaultValue:3}) 
}); 

Répondre

1

enlèverait juste "type":1 de la charge utile. Son bogue dans les données ember et il a été corrigé dans 1.13.12 release. https://github.com/emberjs/data/pull/3725

+1

Merci @kumkanillam –

+1

J'ai mis à jour à 2.1ember. . donc ce bug ne devrait pas être pour cette version droite. –

+0

@dilipkumar Mise à niveau de ember-data> = 1.13.12 corrige cette erreur. par la façon dont vous n'avez pas défini l'attribut 'type' pour le modèle' trend', alors pourquoi avez-vous besoin de l'envoyer dans la charge utile. – kumkanillam

0

criteria est un tableau, mais vous définissez comme chaîne.

Modifier comme ceci:

criteria:DS.attr({defaultValue:function(){ 
     return []; 
    }}), 
+0

Je l'ai changé comme vous l'avez mentionné mais toujours le même remplissage d'erreur. Merci –