그게 내가 가진거야.
2 가지 모델 : '메모'및 '사용자'. 참고에는 "user"라는 필드가있어 "1 명의 사용자에게 많은 메모"를 보냅니다. 데이터는 미라지에서 가져온 것입니다.템플릿에서 관련 모델을 사용할 수 없습니다 (EmberJS)
참고 모델 :
export default DS.Model.extend({
subject: DS.attr(),
message: DS.attr(),
user: DS.belongsTo('user'),
created_at: DS.attr(),
updated_at: DS.attr(),
});
사용자 모델 :
export default DS.Model.extend({
username: DS.attr(),
email: DS.attr(),
notes: DS.hasMany('note'),
});
미라지 코드 : (나는 EmberInspector에서 볼 수 있듯이) 사용자 모델이 검색됩니다
let notes = [
{
id: 1,
type: 'note',
attributes: {
subject: 'Test 1',
message: 'tttttttttttttttttttttttt',
user_id: 1,
'created-at': '2017-03-10 15:04:22',
'updated-at': '2017-03-10 15:04:22',
}
},
{
id: 2,
type: 'note',
attributes: {
subject: 'Test 2',
message: 'klakljadlfkjhasdflij',
user_id: 1,
'created-at': '2017-02-10 15:04:22',
'updated-at': '2017-02-10 15:04:22',
}
}
];
let users = [
{
id: 1,
type: 'user',
attributes: {
username: 'user',
email: '[email protected]',
}
}
];
this.get('/notes/:id', function (db, request) {
let note = notes.find((note) => parseInt(request.params.id) === note.id);
let result = {
data: note
};
if (request.queryParams.include === 'user') {
result.included = [users.find((user) => parseInt(note.attributes.user_id) === user.id)];
}
return result;
});
.
{{model.user.username}}
템플릿을 사용할 때 빈 출력이 있습니다.
{{log model.user}}
을 사용할 때 비어있는 '사용자'모델이 있습니다.
필자는 메모 목록을 작성할 때 '주의'모델이 '사용자'모델없이 조금 빨리 검색된다는 사실과 관련이 있다고 생각합니다.
도움 주셔서 감사합니다.
어떤 시리얼 라이저를 사용하고 있습니까? – Lux
@Lux, JSONAPISerializer – Viktor
중요한지는 모르겠지만 RESTSerializer를 개발의 다음 단계 중 하나로 시도 할 것입니다. – Viktor