簡體   English   中英

Ember Data有很多關系空結果

[英]Ember Data hasMany relationship empty result

我正在使用:

  • ember-cli 0.2.7
  • ember-data 1.0.0-beta.18
  • ember 1.12.0

我不知道為什么,但似乎我無法檢索我的newsletter模型的標簽。

我正在使用ActiveModelAdapter

import DS from 'ember-data';

export default DS.ActiveModelAdapter.extend({
  namespace: 'api/v1',
  host: 'http://localhost:3000'
});

newsletter.js

import DS from 'ember-data';

export default DS.Model.extend({
  title: DS.attr('string'),
  tags: DS.hasMany('tag')
});

tag.js

import DS from 'ember-data';

export default DS.Model.extend({
  name: DS.attr('string')
});

API響應(使用ActiveModelSerializer的rails后端):

{
  "newsletters": [
    {
      "id": 1,
      "title": "Panel Weekly",
      "tag_ids": [
        1
      ]
    },
    {...}
  ],
  "tags": [
    {
      "id": 1,
      "name": "arts"
    },
    {...}
}

我不知道如何檢索新聞稿的標簽列表。 我使用ember檢查器和控制台($ E包含第一個時事通訊)嘗試了這個:

>$E.get('tags.length')
0
>$E.get('tags')
Class {canonicalState: Array[0], store: Class, relationship: ember$data$lib$system$relationships$state$has$many$$ManyRelationship, record: Class, currentState: Array[0]…}
>$E.get('title')
"Panel Weekly"

我在JSBin中重現了你的情況,它工作正常:

http://emberjs.jsbin.com/yeboqe/3/edit?html,js,output

你的問題必須在其他地方。

好吧,事實證明我使用自定義序列化程序為我的通訊模型沒有必要。 只是刪除文件解決了問題> <。

import DS from 'ember-data';

// http://stackoverflow.com/a/21075106/1447468
export default DS.RESTSerializer.extend({
  serializeIntoHash: function(data, type, record, options) {
    var properties = this.serialize(record, options);
    for(var prop in properties){
      if(properties.hasOwnProperty(prop)){
        data[prop] = properties[prop];
      }
    }
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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