【问题标题】:ember-data does not support embedded objects [duplicate]ember-data 不支持嵌入对象 [重复]
【发布时间】:2013-01-09 09:07:16
【问题描述】:

我正在使用 ember data rev-11 和 django sweetpie。看起来现在 ember-data 不支持嵌入资源但支持侧载(django tastepie 不支持它)。最好的解决方案是什么?

谢谢

【问题讨论】:

  • 确保检查此 Ember-Data Adapter for Django Tastypie
  • 我将此标记为骗子,因为下面的答案不再与 Ember Data 1.0 beta 相关

标签: ember.js ember-data


【解决方案1】:

这对 Ember Data 1.0 beta+ 无效,请参阅重复答案

Ember-data 仍然支持嵌入。您只需要正确的配置。在这里你可以怎么做:

DS.RESTAdapter.map('App.Foo',{
    bar:{
        embedded:'always'
    }
})

App.Foo = DS.Model.extend({
    bar: DS.belongsTo(App.Bar,{embedded:'always'}),
});

嵌入的可用值为:alwaysload

加载:加载时嵌入子记录,但应保存 作为独立记录。为了使它起作用,子记录 必须有一个 ID。

always:加载时嵌入子记录,并保存 嵌入在同一记录中。当然,这会影响 记录(如果子记录发生变化,适配器将标记 父记录为脏)。

类似的设置适用于 HasMany 关系,请参阅this reply 了解更多详情

【讨论】:

  • 谢谢,您的回答对我帮助很大。
  • 在嵌入的问题上需要帮助。在这里发布了一个问题stackoverflow.com/questions/14896049/…Loader 不会将内部 JSON 作为对象加载。
  • 我按照这些说明进行操作。我有一个location 嵌入式模型,它具有latitudelongitude 属性。每当属性之一更改时,父记录不会被标记为脏,但location 模型是。使用 Ember-Data rev 12。父记录不应该也被标记为脏吗?
  • 好吧,我已经从 FixtureAdapter 更改为 RESTAdapter。它现在似乎可以正常工作了。
  • 当您将父对象(在 PUT 请求中)发回服务器时,这是否有效?子对象会嵌入到父对象中吗?或者这仅在您的服务器将记录返回给您时加载父记录时才有效?我试过了,我没有看到孩子被嵌入。任何指针都非常感谢!
猜你喜欢
  • 1970-01-01
  • 2016-11-30
  • 1970-01-01
  • 2013-07-30
  • 2014-10-19
  • 2016-11-30
  • 1970-01-01
  • 2013-03-29
  • 1970-01-01
相关资源
最近更新 更多