我試圖將當前用戶加載到數據存儲區,但遇到一些困難。服務器使用PassportJS和來訪/api/users/me
返回類似這樣的JSON對象:Ember-Data「TypeError:this.container is undefined」
{"user":{"_id":"53a4d9c4b18d19631d766980","email":"[email protected]",
"last_name":"War","first_name":"Ashton","location":"Reading, England",
"birthday":"12/24/1993","gender":"male","fb_id":"615454635195582","__v":0}}
我的店只是App.store = DS.Store.create();
控制器定義爲獲取當前用戶:
App.UsersCurrentController = Ember.ObjectController.extend({
content: null,
retrieveCurrentUser: function() {
var controller = this;
Ember.$.getJSON('api/users/me', function(data) {
App.store.createRecord('user', data.user);
var currentUser = App.store.find(data.user._id);
controller.set('content', currentUser);
});
}.call()
});
它被我的應用程序控制器調用:
App.ApplicationController = Ember.Controller.extend({
needs: "UsersCurrent",
user: Ember.computed.alias("controllers.UsersCurrent")
});
我懷疑行App.store.createRecord('user', data.user);
是造成問題,但我不知道如何解決它。
控制檯記錄TypeError: this.container is undefined
,而Ember調試器顯示每個承諾都已完成且users.current控制器沒有內容。感謝您提供任何幫助。
是的,我通過'App.store = DS.Store.create()限定所述存儲器;'。我添加了類型來查找,但這似乎沒有什麼區別。 –
這不是應該如何定義商店。您是否使用舊版本的Ember Data? https://github.com/emberjs/data/blob/master/TRANSITION.md – Kingpin2k
我正在使用當前版本。這些文檔是否過時? http://emberjs.com/api/data/classes/DS.Store.html –