この質問は、燃えさしデータの古いバージョンのためですが、答えは持っているでしょうisDeletedの状態を最初にチェックし、レコードがまだ削除されていない場合にのみロールバックすることでした。
最新のemberデータにはトランザクションの概念はありませんが、まだ永続化されていないレコードをロールバックしようとしている場合でも同様の問題が発生します。
変更を保存するオプションをユーザーに与えたい場合は、移行を中止するなどの操作を行うことができるので、ルータのwillTransitionイベントでこれを実行します。
willTransition: function(transition) {
controller = this.get('controller')
if(controller.get('content.isDirty')) {
if(controller.get('content.isNew') && confirm('Closing this window will revert all unsaved changes.')){
controller.get('content').deleteRecord();
} else {
controller.get('content').rollback()
}
}
}
ルートの終了時に意味がありますか?あなたは次のようなものを探していますか:http://stackoverflow.com/questions/14797338/ember-clear-form-after-submitting –
編集ルートから新しいルートに直接移行してから、モデル。 – dagda1
ねえ、これは古い質問ですが、これを行う標準的な方法を理解しましたか? –