使用belongsTo关系在商店中推送记录

时间:2015-07-09 18:18:37

标签: ember.js ember-data

我想将新对话推送到商店。我正在使用:

this.store.push('conversation', received_message.conversation);

在这一行中," received_message"是由推送事件从服务器返回的JSON数据。我得到的问题是,对话的客户是由与客户模型的belongsTo关系定义的。当我想推送时,它告诉我Ember-Data需要一个字符串或数字来表示客户'但发现了一种嵌入式关系。

我已经定义了DS.EmbeddedRecordsMixin,客户始终是嵌入式的。我该怎么办?现在,customer作为JSON对象返回。

1 个答案:

答案 0 :(得分:0)

好的家伙就是我做的。我讨厌回答我自己的问题,因为这意味着在发布之前我没有足够的搜索但我们在这里。

我做的是我在返回的JSON中独立地加载了所有模型。我将我的客户和子用户设置为我的jbuilder中的空值。然后,我使用这三行将客户,子用户和对话推送(全部单独)到商店:

this.store.push('customer', received_message.conversation.customer);
this.store.push('subuser', received_message.conversation.subuser);
this.store.push('conversation', received_message.conversation);
然后,我通过使用.find检索模型并使用.then分配客户和子用户来手动建立模型之间的关系。工作就像一个魅力。