2013-10-07 20 views
0

我的服務器返回一個看起來像這樣JSON響應:如何讓Ember Data識別服務器正在爲hasMany關係返回ID?

{ 
    'book': { 
    'id': 252, 
    'name': 'The Hobbit', 
    'tag_ids': [1, 2, 3, 5, 6, 7] 
    } 
} 

我使用灰燼數據的DS.RESTSerializer,我已經擴展到包括keyForRelationship功能認識到,在"_ids"結束鍵是真正的hasMany關係。因此,上面的代碼應該匹配起來就好了我的模型代碼,它看起來像這樣:

App.Book = DS.Model.extend({ 
    name: DS.attr('string'), 
    tags: DS.hasMany('tag') 
}); 

的問題是,每當我創建一個新的書和服務器返回的JSON響應,恩貝爾數據的商店得到它錯誤。它無法將ID轉換爲實際的tag實例。相反,模型上的tags屬性實際上設置爲一個ID數組。

任何想法?

+0

您是否嘗試將'tags'定義爲異步,如:'DS.hasMany('tag',{async:true})' – colymba

+0

是的,試過了,沒有真正的成功。看起來像正確的答案是使用新的DS.ActiveModelAdapter而不是DS.RESTAdapter – NudeCanalTroll

回答

相關問題