2014-11-04 65 views
0

我想使用Ember Data,但我編碼的API不尊重所有約定。Ember數據關係對非標準API

我的問題是,API不返回sideloaded關係,但應使用REST結構加載關係:/model/id/relationship

我有以下型號:

Library = DS.Model.extend 
    name: DS.attr 'string' 
    groups: DS.hasMany 'group', {async: true} 
    groupsCount: DS.attr 'number' 

有效載荷的樣子:

{ 
    library: { 
    groups_count: 44, 
    name: "demo", 
    id: "545262a063726d2514390100" 
    } 
} 

當我嘗試加載使用library.get('groups')什麼也沒有發生羣體。它應撥打電話libraries/545262a063726d2514390100/groups

我可以更改我的RESTAdapter以使其工作嗎?

回答

0

經過一番研究,我發現,對我的作品的方式:

LibrarySerializer = DS.RESTSerializer.extend 
    normalize: (type, hash, prop)-> 
    hash.links = 
     groups: "groups" 
    @_super(type, hash, prop) 

這實質上增加了links對象的反應,使其餘的適配器遵循檢索關係這條道路。