Ember数据:在一个请求中保存具有关联的模型

Cha*_*lie 12 javascript rest ember.js ember-data

我有两个这样的关系的余烬模型

App.Foo = DS.Model.extend
   bar: DS.belongsTo("App.Bar", embedded: true)

App.Bar = DS.Model.extend
   primaryKey: "blah"
   blah: DS.attr "string
Run Code Online (Sandbox Code Playgroud)

如果我创建并保存这样的新记录:

foo = App.store.createRecord App.Foo
foo.set "bar", App.Bar.createRecord(blah: "blahblah")
App.store.commit()
Run Code Online (Sandbox Code Playgroud)

我看到2个帖子请求到服务器:

URL: /foos
Payload: {"foo":{"bar":null}}
Run Code Online (Sandbox Code Playgroud)

URL: /bars
Payload: {"bar":{"blah":"blahblah"}}
Run Code Online (Sandbox Code Playgroud)

该关联是嵌入式的,所以我希望看到:

URL: /foos
Payload: {"foo":{"bar":{"blah":"blahblah"}}}
Run Code Online (Sandbox Code Playgroud)

我可以使用ember-data REST适配器实现这一点,还是需要编写自己的代码来执行此操作?

ine*_*tia 2

我在我的应用程序中观察到相同的行为。将“embedded”设置为 true 仅有助于您获取嵌入的数据,但在您发布数据时,将生成单独的请求。如果您想在一个请求中实现它,您已经编写了代码。