2015-05-14 6 views
0

У меня есть следующие JSON возвращается из API:Ember данных, отношения и JSON

{ 
"project": [ 
    { 
     "id": "1", 
     "name": "My First Project", 
     "owned_by": "1", 
     "updated_at": { 
      "date": "2015-05-06 15:46:27.000000", 
      "timezone_type": 3, 
      "timezone": "Europe/London" 
     }, 
     "created_at": { 
      "date": "2015-05-06 15:46:27.000000", 
      "timezone_type": 3, 
      "timezone": "Europe/London" 
     } 
    } 
], 
"subscriptions": [ 
    { 
     "id": "10", 
     "output": "Hello World", 
     "project_id": "1", 
     "owned_by": "1", 
     "updated_at": { 
      "date": "2015-05-06 16:56:40.000000", 
      "timezone_type": 3, 
      "timezone": "Europe/London" 
     }, 
     "created_at": { 
      "date": "2015-05-06 16:56:40.000000", 
      "timezone_type": 3, 
      "timezone": "Europe/London" 
     } 
    } 
] 
} 

И у меня есть следующие модели:

project.js

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    name: DS.attr('string'), 
    ownedBy: DS.attr('string'), 
    subscriptions: DS.hasMany('subscription') 
}); 

subscription.js импорта DS от «ember-data»;

export default DS.Model.extend({ 
    input: DS.attr('string'), 
    projects: DS.belongsTo('project'), 
}); 

Данные успешно возвращается из API, и я могу получить детали проекта, но я не могу показаться, чтобы получить данные для связи. Использование инспектору ember показывает данные на вкладке данных, но когда я пытаюсь прокрутить эти данные с помощью {{#each item in model.subscription}}, ничего не возвращается.

enter image description here

+0

Ваш массив проект не правильно назван либо в формате JSON, он должен быть «проекты» – jax

ответ

1

ваш проект JSON оленья кожа есть какие-либо ссылки на его подписки. проект json должен иметь массив идентификаторов на нем, каждый идентификатор которого относится к идентификатору подписки.
Пример кода ниже от emberjs.com, но заменяя проект по почте и подписки на комментарии в вашем случае

{ 
    "post": { 
    "id": 1, 
    "title": "Node is not omakase", 
    "comments": [1, 2, 3] 
    }, 

    "comments": [{ 
    "id": 1, 
    "body": "But is it _lightweight_ omakase?" 
    }, 
    { 
    "id": 2, 
    "body": "I for one welcome our new omakase overlords" 
    }, 
    { 
    "id": 3, 
    "body": "Put me on the fast track to a delicious dinner" 
    }] 
} 
Смежные вопросы