0
これは、Ajaxリクエストが完了した後にモデルをロードする必要があります。emberからの負荷モデルは未定義です
ajaxリクエストが完了したら、データをストアにプッシュします。プッシュした後、データを返してテンプレート上にレンダリングする必要があります。問題は、{{model}}
変数が空であることです。
model(params) {
const controller = this.controllerFor('users.profile');
return controller.get('session').authorize('authorizer:devise', (headerName, headerValue) => {
const url = '/api/users/profile/'+this.get('session.data.authenticated.user.id');
return Ember.$.ajax({
method: 'GET',
url: controller.get('backendURL')+url,
dataType: 'json',
//data: ,
contentType: 'application/json',
beforeSend: function(xhr) {
xhr.setRequestHeader(headerName, headerValue);
},
success: function(
this.store.pushPayload('user',data);
//at this point I can see the user info in the ember inspector addon.
return Ember.RSVP.resolve(data);//return usr;
},
error: function(data){
controller.get('flashMessages').danger('ERROR, '+ data);
Ember.$("#loading").hide("slow");
controller.set('seeTable',false);
}
});
});
}
私のルートには何が間違っていますか?
それは 'success:function(data){....}'でなければなりませんか? – kasperite
私は、認可を混在させてモデルを1つのモデルフックに入れてはいけないと思います。私の助言は:承認のためにEmber Simple Authを使用することです! –