7
私はember.jsをかなり使い慣れていて、いくつかの体験をしています。私は最近、レコードを削除しようとすると少し壁に当たった。ここでは(私は削除呼んでから)私の編集ルートレコードの削除中に別のルートへの移行に失敗しました
は、だから私は、私はdestroyPostをトリガーそこを通ってリンクを持っているApp.PostsEditRoute = Ember.Route.extend({
model: function(params){
return App.Post.find(params.id);
},
exit: function() {
this._super();
tx = this.get('currentModel.transaction');
if(tx)
tx.rollback();
},
setupController: function(controller, model){
controller.set('content', model);
},
events: {
save: function(post){
post.one('didUpdate', this, function(){
this.transitionTo('posts.show', post);
});
post.get('transaction').commit();
},
cancel: function(){
this.transitionTo('posts.show', post);
},
destroyPost: function(context) {
var post = context.get('content');
post.deleteRecord();
post.get('store').commit();
this.transitionTo('posts.index');
}
}
});
です。レコードが正常に削除され、インデックスルートに移行し始めましたが、エラーが発生します...
未知のエラー:ステートrollback
をrootState.deleted.inFlightの状態でオンにしようとしました。定義されていないと呼ばれる
この後、インデックスページのモデルの読み込みが停止し、空のページが表示されます。私は必要な追加コードを提供することができます。ここではインデックスルートです。
App.PostsIndexRoute = Em.Route.extend({
model: function(){
return App.Post.find();
},
setupController: function(controller, model){
controller.set('content', model);
}
});
これらのルートはどちらも正しくロードされることに注意してください。それは私が失敗するだけの移行時です。
これは機能しました。私は他の場所からコードを引っ張った。私はこの時点で勉強しようとしています。しかし、ドキュメントをよく読んでください。正しい方向に私を指してくれてありがとう。 – sentinel21