1

我有兩個模型'作者'和'發佈者'(Rails),與一個發佈者有一個作者/作者belongsTo發佈者關係。Ember數據belongsTo協會(JSON格式?)

我正確安裝Ember模型 - JS Fiddle - 以及手動推入商店時的關聯。但是在請求/發佈者索引時僅創建發佈者記錄。

我試過的JSON響應幾種類型:

出版商與作者

{ 
    "publishers": [ 
     { 
      "id": 1, 
      "name": "Test P 1", 
      "author": 1 
     } 
    ], 
    "author": { 
     "id": 1, 
     "name": "Test A 1", 
     "publisher": 1 
    } 
} 

出版商與作者

{ 
    "publishers": [ 
     { 
      "id": 1, 
      "name": "Test P 1", 
      "author": 1 
     } 
    ], 
    "authors": [{ 
     "id": 1, 
     "name": "Test A 1", 
     "publisher": 1 
    }] 
} 

與作家出版社嵌入式

{ 
    "publishers": [ 
     { 
      "id": 1, 
      "name": "Test P 1", 
      "author": { 
       "id": 1 
       "name": "Test A 1" 
      } 
     } 
    ] 
} 

感謝您的幫助!

回答

2

ActiveModelAdapter/ActiveModelSerializer預計_id/_ids要對關係

{ 
    "publishers": [ 
     { 
      "id": 1, 
      "name": "Test P 1", 
      "author_id": 1 
     } 
    ], 
    "authors": [{ 
     "id": 1, 
     "name": "Test A 1", 
     "publisher_id": 1 
    }] 
} 

http://jsfiddle.net/6Z2AL/1/

+0

謝謝非常。 – ndreckshage

+0

這仍然是這種情況? [This](http://emberjs.com/api/data/classes/DS.ActiveModelAdapter.html#method_findMany)and [this](http://emberjs.com/api/data/classes/DS.ActiveModelSerializer.html #method_serialize)讓我相信不然。 – Feech

+1

是的,該文檔是自動生成的,並且活動模型適配器和序列化器擴展了沒有ID的json適配器和序列化程序。 http://emberjs.com/api/data/classes/DS.ActiveModelSerializer.html#method_serialize和https://github.com/emberjs/data/blob/v1.0.0-beta.8/packages/activemodel-adapter/ LIB /系統/ active_model_serializer.js#L86 – Kingpin2k