1
我正在爲員工和員工提供多個地址,當添加/編輯員工時,地址位於同一路線/頁面上。Ember在單一路線上擁有多個
在我添加地址按鈕的頁面,被點擊時,它應該添加地址字段的設置
這裏是一些代碼
addAddress: function() {
const addressNew = this.store.createRecord('employee/address', {});
////addressNew.set('id', 999);
const employee = this.controller.get('model');
employee.get('address').pushObject(addressNew);
},
當我按添加地址按鈕,它給我的錯誤
Uncaught Error: You must provide a string key when calling `yieldItem`; you provided null
當我取消註釋ID行時,它會添加一個地址,但是當我第二次點擊時,它會給我重複的ID消息。
應該用什麼合適的方法來處理的hasMany關係的單頁上
模型
// employee
import DS from 'ember-data';
export default DS.Model.extend({
username: DS.attr('string'),
password: DS.attr('string'),
fname: DS.attr('string'),
lname: DS.attr('string'),
email: DS.attr('string'),
department: DS.attr('string'),
hire_date: DS.attr('date'),
status: DS.attr('boolean'),
gmail: DS.attr('string'),
timezone: DS.attr('string'),
address: DS.hasMany('employee/address')
});
// employee/address
import DS from 'ember-data';
export default DS.Model.extend({
address_1: DS.attr('string'),
address_2: DS.attr('string'),
phone: DS.attr('string'),
cell: DS.attr('string'),
city: DS.attr('string'),
state: DS.attr('string'),
country: DS.attr('string'),
default_address: DS.attr('boolean'),
employee_id: DS.belongsTo('employee')
});
我使用
DEBUG: Ember : 1.13.7
DEBUG: Ember Data : 1.13.8
DEBUG: jQuery : 2.1.4
DEBUG: Ember Simple Auth : 0.8.0
編輯
我認爲這與我的模板是一樣的不允許我添加並給我錯誤我正在使用
{{#each model.address key="id" as |address|}}
要循環,所以它沒有ID,它給出了產量錯誤。我改變了key="@guid"
,它工作。我需要一個獨特的索引以及@guid
或@index
不工作...
你並不需要通過第二是工作正常參數到'createRecord'。只要'this.store.createRecord('modelName')' –
正如你所建議的,它給了我'未捕獲的錯誤:你必須在調用'yieldItem'時提供一個字符串鍵。您提供了null錯誤 –
模型定義可能有問題。另外,在你的代碼中沒有理由使用const。 –