我對於燼很新,但是我花了幾個小時處理這個問題,無法自行解決。這裏是我的路線(使用ember-cli):Ember:Promise(destroyRecord()。then())在成功請求時失敗
import Ember from 'ember';
export default Ember.Route.extend({
actions: {
save: function() {
var controller = this.controller;
controller.get('model').save().then(function(account) {
console.log('account saved');
controller.transitionToRoute('accounts.index');
}, function(response) {
console.log('account NOT saved');
});
return false;
},
deleteAccount: function() {
var controller = this.controller;
controller.get('model').destroyRecord().then(function(account) {
console.log('account deleted');
controller.transitionToRoute('accounts.index');
}, function(response) {
console.log('account NOT deleted');
});
return false;
},
cancel: function() {
this.controller.get('model').rollback();
this.transitionToRoute('accounts.index');
return false;
},
}
});
我觸發了我的模板(按鈕)中的deleteAccount操作。有趣的是,代碼實際上是刪除記錄。它發送一個成功的刪除請求,並且api刪除該賬戶。但它永遠不會過渡到accounts.index。相反,它會記錄「帳戶未刪除」。如果我手動去account.index然後模型不再有(如人們所期望的)。 我從官方的餘燼文檔中獲得了代碼。請參閱:http://emberjs.com/api/data/classes/DS.Model.html#method_destroyRecord
那麼,爲什麼當模型被實際刪除時,承諾總是失敗?您的幫助將非常感謝!
Btw .:它是一個以account_id作爲參數傳遞的編輯路由,因此不需要在路由上手動定義「模型函數」。以防萬一有人在想。
嘿,DELETE'請求的迴應是什麼?也許它是一個成功的'200',但是這個迴應並不被燼理所理解? – andrusieczko 2015-02-08 01:21:27
它是一個空的HTTP 200 OK。就我而言,這應該是對刪除請求的有效回覆。 – 2015-02-08 10:22:28