Ich habe eine Ember JS-Umfrage-Anwendung mit einem Firebase-Backend (Emberfire-Adapter) gebaut.Speichern von User Object Breaks nach Ember Build
Der folgende Code funktioniert einwandfrei, wenn in der Entwicklung:
if(!(_this.currentModel.get('respondents').contains(thisUser)))
{
thisUser.get('surveysToTake').pushObject(_this.currentModel);
_this.currentModel.get('respondents').pushObject(thisUser);
var userResponseSet = _this.store.createRecord('response-set', {
survey: _this.currentModel,
respondentid: thisUser
});
var respSetSurveyLookupObj = {'surveyId': _this.currentModel.get('id'),
'respSetId': userResponseSet.get('id')};
if(thisUser.get('respSetSurveyLookup'))
{
thisUser.get('respSetSurveyLookup').pushObject(respSetSurveyLookupObj);
} else {
thisUser.set('respSetSurveyLookup', [respSetSurveyLookupObj]);
}
thisUser.save().then(function(){
Ember.RSVP.all([_this.currentModel.save(), userResponseSet.save()]).then(function(){
controller.setProperties({ multipleUsers: '', showAddUsers: false});
});
}).catch(function(msg){console.log(msg);});
}
Aber der Moment, als ich tue:
ember build -prod
Es wirft einen Fehler beim Versuch, das Benutzerobjekt zu speichern. Die spezifische Stelle, die den Fehler auslöst, ist, wenn ich versuche, dem respSetSurveyLookup-Array hinzuzufügen.
Leider bin ich nicht in der Lage, den Stack-Trace herunter zu arbeiten, da die Fehlermeldung in minimiertem JS-Code ist.
Meine Frage ist also, was könnte dazu führen, dass ein Benutzerobjekt speichern nur fehlgeschlagen, wenn ein Ember-Build fertig ist? Ist das ein Problem, das von Ember CLI (was baut)? Oder hat es etwas mit dem Firebase Emberfire Adapter zu tun?
Zusätzliche Informationen: Ich benutze Ember CLI 1.13.13, Ember 1.13.11 und Ember Daten 1.13.11.
@Piyush Khatri ... Vielen Dank, dass Sie den Code viel besser lesbar durch Einrücken. SO Felsen! – learningMachine
Wenn Sie die Array-Elemente speichern, können Sie sich so verhalten => Ember.RSVP.all ([this.currentModel, userResponseSet] .invozieren ('save')) –
@kristjanreinhold thanks. das ist ordentlich. – learningMachine