2012-08-22 46 views
1

我想知道是否可以定義存儲到另一個模型中的模型。作爲單獨對象存儲的灰燼數據嵌入對象

我有這樣的結構:

Model Contact 
    String name 
    Model Address (hasMany) 
    Model Phone (hasMany) 

在我的後端,地址和電話是MongoDB的包含在「聯繫人」文件嵌入文檔。

而且,只要它們是嵌入式文檔,它們就沒有ID。 當我在Emberjs /數據層上時,它們被嵌入選項(參見https://github.com/emberjs/data#one-to-one節的結尾)保存爲單獨對象,並且在更新或保存時會造成麻煩...

+0

我已經粘貼了這個鏈接在emberjs irc頻道,因爲我也需要這個解決方案。 – brg

+0

謝謝你提出有關irc的問題! – ThomasDurin

回答

3

您正在使用RESTadapter ... 當您要保存您想要序列化嵌入的所有關係嗎?

當你保存或與

{associations: true} 

更新的選項哈希到的toJSON方法你記妙傳在上燼數據的單元測試,看看爲例子: https://github.com/emberjs/data/blob/master/packages/ember-data/tests/unit/to_json_test.js

deepEqual(record.toJSON({ associations: true }), 
     { id: 1, name: "Chad", phone_numbers: [{ 
      id: 7, 
      number: '123' 
      }, 
      { 
      id: 8, 
      number: '345' 
      }, 
      { 
      id: 9, 
      number: '789' 
      } 
     ]}, 
     "association is updated after editing associations array"); 
}); 

希望這會有所幫助..

+0

感謝這非常有幫助,非常感謝您花時間在emberjs IRC頻道上向我解釋此解決方案。 – brg

+0

非常感謝mspisars,它可以幫助很多人,比如brg,我想我們並不是一個人遇到這個問題! – ThomasDurin