Ember アプリのバックエンドとして Firebase を使用しており、Firebase と EmberFire を正常に接続しています。ただし、レコードを作成した後にモデルを保存しようとすると、それらが Firebase に投稿されている間、クライアントの ember テンプレートで更新されません。
これに気付く前のアクションハンドラーのコードは次のとおりです。
actions: {
publishPost: function() {
var newPost = this.store.createRecord('post', {
title: this.get('post.title'),
body: this.get('post.body'),
timestamp: new Date()
});
newPost.save();
}
}
そして、save() および find() メソッドによって返された promise をキャッチすることによって、これを解決しようとする (しかし、それは機能しません) 私のコードは次のとおりです。
actions: {
publishPost: function() {
var newPost = this.store.createRecord('post', {
title: this.get('post.title'),
body: this.get('post.body'),
timestamp: new Date()
});
this.store.find('post').then(function(posts) {
posts.addObject(newPost);
posts.save().then(function() {
newPost.save();
});
});
}
}
テンプレートを更新するために上記のコードのロジックを正しく処理していないだけですか、それとも別の Firebase/EmberFire 互換ソリューションがありますか?