2014-03-29 59 views
3

我有一個路徑負責在財務應用程序中創建交易。當用戶添加了交易時,他們可能希望進一步輸入,所以我不會過渡。我的問題是,如何重置附加到路線的模型,這是一個全新的記錄(我使用的是燼數據)?重置路線的模型

回答

3

保存記錄後,通過調用路由的model()得到一個新的記錄,並將其設置爲相應的控制器的model屬性:

App.TransactionRoute = Ember.Route.extend({ 
    model: function() { 
    return this.store.createRecord('transaction'); 
    } 

    actions: { 
    save: function() { 
     var model = this.modelFor('transaction'); 
     var controller = this.controllerFor('transaction'); 
     var route = this; 

     model.save().then(function(){   
     var newModel = route.model(); 
     controller.set('model', newModel); 
     }); 
    } 
    } 
}); 
0

您可以執行模型掛鉤調用路線中的刷新方法,這樣:

App.TransactionRoute = Ember.Route.extend({ 
    model: function() { 
    return this.store.createRecord('transaction'); 
    }, 
    actions: { 
      newTransaction: function() { 
          this.refresh(); 
      } 
    } 
}); 

App.TransactionController = Ember.ObjectController.extend({ 
    actions: { 
     save: function() { 
       self = this; 
       this.get('model').save().then(function(){ 
        self.send('newTransaction'); 
       }); 
     } 
    } 
});