2015-12-09 75 views
0

我正在使用主要的ember-cli-mirage分支來利用活動模型序列化和關係支持,現在我有一個完整的工作示例hasMany關係,但現在給出了一個模型用戶hasOne Organization我無法弄清楚如何將組織json嵌入到用戶json中,到目前爲止,我一直試圖使用belongsTo而沒有運氣,因爲它試圖向用戶添加外鍵,看起來像是用戶沒有組織,它會引發錯誤,因爲它驗證資源(如果沒有組織)是一個模型,如果它不是,那麼它會嘗試映射爲導致錯誤的集合。如何序列化嵌入belongsTo關係

不知道如何實現這種行爲,我欺騙了用戶模型,將用戶設置爲屬於組織(它確實是相反的),並將組織ID分配給用戶organizationId,這樣它就嵌入了組織對象放入用戶json中,但它顯然只是一種破解而非正確的/預期的方式來實現這一點,因爲hasOne是一種常見模式。

任何意見或建議表示讚賞。

+1

我相信這是目前不支持,但它會被釋放之前0.2.0。我需要爲'belongsTo'添加一個選項,以便指定哪個模型擁有外鍵。 –

回答

2

您將要自定義序列添加到/serializers與嵌入式記錄模式命名的:

import DS from 'ember-data'; 
// Assuming your application serializer extends ActiveModelSerializer 
import ApplicationSerializer from './application'; 

const { EmbeddedRecordsMixin } = DS; 

export default ApplicationSerializer.extend(EmbeddedRecordsMixin, { 
    attrs: { 
    yourEmbededRecordsModelName: { 
     embedded: 'always' 
    } 
    } 
}); 
相關問題