ember-cli-mirage 내에 staffMember의 인스턴스를 생성하는 동안 '작업'을 만들고 'tasksCreated'키에 할당하려고합니다. staffMember 모델 내에서. 현재 코드는 다음과 같습니다.모델 인스턴스를 생성하고 Ember Mirage의 특정 키에 적용하는 데 문제가 발생했습니다.
이것은 작업을 생성하고 staffMember를 생성하지만이 두 작업 간에는 관계가 구축되어 있지 않습니다.
응용 프로그램/모델/직원 - member.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
atWork: DS.attr('boolean'),
avatar: DS.attr(),
tasksCreated: DS.hasMany('task', {
inverse: 'creator'
}),
tasksAssigned: DS.hasMany('task', {
inverse: 'assignee'
})
});
응용 프로그램/모델/tasks.js
import DS from 'ember-data';
export default DS.Model.extend({
creator: DS.belongsTo('staff-member', { inverse: null }),
assignee: DS.belongsTo('staff-member', { inverse: null }),
creationDate: DS.attr(),
description: DS.attr('string'),
urgency: DS.attr()
});
신기루/모델/직원 - member.js
import {Model, hasMany} from 'ember-cli-mirage';
export default Model.extend({
tasksCreated: hasMany('task'),
tasksAssigned: hasMany('task', { inverse: 'assignee'})
});
mirage/models/task.js
import {Model, belongsTo} from 'ember-cli-mirage';
export default Model.extend({
creator: belongsTo('staff-member'),
assignee: belongsTo('staff-member')
});
신기루/공장/직원 - member.js
import { Factory, faker, trait } from 'ember-cli-mirage';
export default Factory.extend({
name: faker.name.firstName,
atWork: faker.random.boolean,
avatar: faker.image.avatar,
withTasks: trait({
afterCreate(staffMember, server){
server.createList('task',2,{tasksCreated: [staffMember]});
}
})
});
신기루/공장/task.js
import { Factory, faker } from 'ember-cli-mirage';
export default Factory.extend({
creationDate: faker.date.recent,
description: faker.lorem.sentence,
urgency: faker.random.number({
'min': 0,
'max': 4
})
});
신기루/시나리오/I가 시도
export default function(server) {
server.createList('staff-member', 4, 'withTasks');
}