Я решил не использовать данные ember-data, так как он не готов и все еще меняется. Мое приложение только должно сделать несколько аякс-запросов в любом случае, чтобы не было слишком большой разницы. У меня возникли проблемы с пониманием того, как обращаться с ответом на ajax-обещание.
Когда мой пользователь загружает приложение, у них уже есть сеанс с проверкой подлинности. Я пытаюсь выполнить ping-сервер для этой информации о пользователях и отобразить его в моем шаблоне. Кажется, мой шаблон отображается до того, как мой запрос ajax возвращает результаты, а затем не обновляется с обещанием.
// route
App.ApplicationRoute = Ember.Route.extend({
setupController: function(){
this.set("currentUser", App.User.getCurrentUser());
}
});
// model
App.User = Ember.Object.extend({
email_address: '',
name_first: '',
name_last: '',
name_full: function() {
return this.get('name_first') + ' ' + this.get('name_last');
}.property('name_first', 'name_last')
});
App.User.reopenClass({
getCurrentUser: function() {
return $.ajax({
url: "/api/get_current_user",
type: "POST",
data: JSON.stringify({})
}).then(function(response) {
return response;
});
}
});
В моем шаблоне:
<h1> Hey, {{App.currentUser.name_first}}</h1>
Как я могу обновить шаблон, когда получаю ответ или задержку, пока у меня не будет ответа?