我刚从ember-cli 0.0.42升级到0.0.44,现在我的应用程序路径上的模型钩子出错了
Error while processing route: profile.index undefined is not a function TypeError: undefined is not a function
at Ember.Mixin.create.extractSingle (http://localhost:4200/assets/vendor.js:63379:25)
at apply (http://localhost:4200/assets/vendor.js:32449:27)
at superWrapper [as extractSingle] (http://localhost:4200/assets/vendor.js:32024:15)
at Ember.Object.extend.extractFind (http://localhost:4200/assets/vendor.js:65641:21)
at Ember.Object.extend.extract (http://localhost:4200/assets/vendor.js:65526:37)
at http://localhost:4200/assets/vendor.js:73793:34
at tryCatch (http://localhost:4200/assets/vendor.js:59657:16)
at invokeCallback (http://localhost:4200/assets/vendor.js:59669:17)
at publish (http://localhost:4200/assets/vendor.js:59640:11)
at http://localhost:4200/assets/vendor.js:42159:9
我不知道这与ember-cli有什么关系,但如果我在0.0.42上没有问题。
我的申请途径:
model: function() {
var preloadedUser = window.PreloadStore.get('currentUser');
return Ember.RSVP.hash({
currentUser: this.store.find('user-profile', preloadedUser.id)
});
},
setupController: function(controller, model) {
this.controllerFor('currentUser').set('model', model.currentUser);
}
应用程序路由中返回的任何承诺似乎都会导致错误。对象文字不会触发错误,所有子路径都可以正常使用promises。
Ember : 1.8.0-beta.1 vendor.js:28327
Ember Data : 1.0.0-beta.8.2a68c63a
我正在使用RESTAdapter,有效负载是:
{"userProfiles":{"id":"d1bdd26a-25b9-40d4-a166-4ec2e66bee70","prefix":null,"first":"Ryan","middle":null,"last":"Hirsch","manager":null}}
为什么承诺应用程序路由解析错误的任何想法或想法?
答案 0 :(得分:0)
您的有效负载并非完全采用数据所期望的格式。你需要添加一个序列化器,就像这样。
DS.RESTSerializer.extend({
extractSingle: function(store, type, payload, id) {
var profiles = payload;
payload = { userProfiles: [payload] };
return this._super(store, type, payload, id);
},
});
我不确定确切的格式,定制它来修复它。