簡體   English   中英

如何使用Ember.js中的鏈接描述hasMany關系?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM