我有以下的車型,客戶設置一個屬於關聯屬性的區域的下拉列表中的客戶是 -通過行動控制器不工作
{{view Ember.Select viewName="select_area" content=possible_areas optionValuePath="content.id" optionLabelPath="content.name" value=area.id prompt="No area selected" selectionBinding="selected_area"}}
和控制器,其導線了一切一起 -
App.CustomerController = Ember.ObjectController.extend({
possible_areas: function() {
return this.store.find('area');
}.property(),
selected_area: null,
actions: {
save: function() {
var selected_area_id = this.get('selected_area.id');
console.log(selected_area_id);
var selected_area = this.store.find('area', selected_area_id);
var self = this;
selected_area.then(function(area) {
console.log(area.get('id'));
var updated_customer = self.get('model');
updated_customer.set('area', area);
console.log(new_customer.get('area.id'));
updated_customer.save()
.then(function(customer) {
//success
},
function() {
//failure
});
});
}
}
});
現在這裏是奇怪的事情。當打電話的「拯救」行動的第一次,行updated_customer.set('area', area);
失敗,錯誤
Uncaught Error: Assertion Failed: Cannot delegate set('id',) to the 'content' property of object proxy <DS.PromiseObject:ember551>: its 'content' is undefined.
當打電話「保存」後,立即採取行動,保存經過沒有被成功更新客戶的任何錯誤和地區。儘管下拉菜單顯示selected_area爲空。
如何防止第一次保存錯誤?
我使用的是ember-data 1.0.0-beta.6。
嗨菲克,謝謝你的答案。現在保存工作正常。但是,selectionBinding不起作用,因爲它不顯示選定的區域,無論是在第一次加載下拉菜單時還是在選擇新值之後。它總是顯示「No area selected」的提示。我嘗試添加'value = area.id',但仍然沒有正確顯示選定的區域。 保存方法仍然得到正確的區域,雖然奇怪。 – KaranK
檢查我的編輯。我有一種感覺,這是一個時間問題。 – Feech
我按照您的指定更改了路線。同樣的問題。 – KaranK