0

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 互換ソリューションがありますか?

4

1 に答える 1