[英]How to describe hasMany relation using links in Ember.js?
我創建了模型咨詢:
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
records: DS.hasMany('record', { async: true }),
currentUser: DS.belongsTo('user'),
remoteUser: DS.belongsTo('user')
});
我還創建了模型記錄:
import DS from 'ember-data';
export default DS.Model.extend({
record_text: DS.attr('string'),
record_poster_id: DS.attr('string'),
record_consultation_id : DS.attr('number'),
consultation: DS.belongsTo('consultation'),
isMine: DS.attr('boolean')
});
首先,在打開頁面期間加載所有咨詢。 而且我不想在打開頁面期間加載每次咨詢的所有記錄。 為此,我添加了async:true,但是同時加載了所有記錄,並發送了許多請求,例如/ consultations /:id / records。 經過那次咨詢,記錄仍然沒有加入。 我需要咨詢下一個json響應:
{
"consultations":[
{
"id":140721,
"title":"ExpertId: 41217, clientId: 0",
"links":{
"records":"records"
},
"currentUser":41217,
"remoteUser":159984
},
......
]
}
並作記錄:
{
"records":[
{
"record_id":681952,
"record_consultation_id":140721,
"record_poster_id":0,
"record_text":"1",
},
........
]
}
我想我需要重寫默認的序列化程序。 我試圖為Record創建序列化器:
import DS from 'ember-data';
export default DS.RESTSerializer.extend({
primaryKey: 'record_id',
keyForRelationship: function(key, kind) {
return 'record_consultation_id';
}
});
但這仍然行不通。 請告知如何使用鏈接加入模型?
更新:模板
{{#each item in model.records}}
<div class="table message">
{{item.record_text}}
</div>
{{/each}}
我也在使用RESTAdaptor和Ember-Data進行數據的異步(延遲加載)。
對於我的鏈接區域,我輸入了完整的請求URL,如下所示:
"links":{
"records":"/consultations/140721/records"
},
並且使用firebug來查看何時發出請求,只有當我請求異步內容時才發出AJAX。
model.get('records');
您能否提供您的控制器和模板代碼,以便查看您如何訪問記錄?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.