私は ember ガイド ページからサンプル ブログ アプリを拡張して ember と ember データを学習していますが、新しいブログ エントリを追加するための「新しい」ルートを実装するのに苦労しています。データを永続化するために、Parse 用の ember データ アダプターを使用しています。Parse に正常に接続され、Parse 内のレコードを照会および更新できます。「新しい」ルートを作成し、新しい投稿を作成できますが、2 つの問題があります。
1) 新しい投稿のルートは、Parse に投稿を追加しますが、保存後に投稿ルートにリダイレクトしません。「Uncaught Error: assertion failed: Cannot call get with 'id' on an undefined object.」というエラーが表示されます。transitionTo('posts.post') およびその他のオプションのバリエーションを試しましたが、新しい投稿の投稿の詳細にリダイレクトする方法に困惑しています。ここに私の PostsNewRoute があります:
App.PostsNewRoute = Ember.Route.extend({
model: function() {
return App.Post.createRecord();
},
events: {
createPost: function() {
this.get('store').commit();
this.transitionTo('post');
}
}
});
2) 新しい投稿のタイトルを入力するとすぐに、サンプル アプリと同じように投稿リストに表示されます。ただし、作成をクリックすると、解析するレコードが保持され、解析レコードもリストに追加されます。追加された最初の投稿には null id があり、2 番目の重複投稿には Parse からの投稿 id があります。2 番目の重複した投稿をクリックすると、投稿の詳細ビューに新しい投稿が正確に表示されます。リスト内の重複した投稿を削除するにはどうすればよいですか? また、リダイレクトを新しい投稿の詳細に直接移動するにはどうすればよいですか? 参考までに、私のルーターは以下です
App.Router.map(function() {
this.resource('posts', function() {
this.resource('post', { path: ':post_id'});
this.route('new')
});
this.resource('about');
});