2013-04-17 8 views
0

Я попытался получить некоторые данные с использованием данных ember. Но есть только artists: undefined, когда я смотрю в консоли объект модели.hasMany data undefined ember-data

Я не понимаю, почему объединение не будет сделано, вот мой код

MyApp.Track = DS.Model.extend 
    artists: DS.hasMany 'MyApp.Artist' 
    name: DS.attr 'string' 

MyApp.Artist = DS.Model.extend 
    name: DS.attr 'string' 

И есть данные должны быть загружены:

{ 
    "track": { 
    "name": "Troublemaker", 
    "id": 74, 
    "artists": [ 
     { 
      "artist": { 
       "name": "Taio Cruz" 
      } 
     } 
    ] 
    } 
} 

У меня есть имя трек, но не id и данные artists.

Большое спасибо за помощь.

ответ

1

вы должны вернуть идентификаторы художника, как artist_ids массив

вот документация этого http://emberjs.com/guides/models/the-rest-adapter/#toc_relationships

Кроме того, если вы планируете сделать запрос на один АЯКС вы должны включить идентификатор художника для это работать http://emberjs.com/guides/models/the-rest-adapter/#toc_sideloaded-relationships

Если Админцетр на рельсах вы должны включить идентификатор в модели сериализатором так:

class TrackSerializer < ActiveModel::Serializer 
    attributes :id, :name, :actist_ids 
end 
+0

Да, проблема была в JSON, возвращаемом API, не было массива id исполнителя. Спасибо за вашу помощь ! – DCK

Смежные вопросы