小编Bre*_*ran的帖子

具有emberjs + ember-data的子资源

所以我(我认为)是Ember-data的一般问题.我想知道如何正确定制适配器以适应以下情况.

假装我有两个对象:PostTag

App.Post.find()通过GETing 调用返回所有帖子api.com/posts,App.Post.find(1)可在以下位置找到api.com/posts/1.这很好.

App.Tag.find()将返回所有可用的标签api.com/tags.App.Tag.find(1)将在正确的URL返回相应的标记.也不错.

如果我通过App.Post.createRecord({...})它创建新帖子将POST到正确的URL.创造也是如此Tags.到目前为止,一切都很花花公子.

TagsPost被嵌入,因为他们是"上"这个职务.

App.Adapter.map("App.Post", {
    tags: {embedded: 'always'}
});
Run Code Online (Sandbox Code Playgroud)

在加载过程中,Ember-data做的一切正常,我仍然非常高兴.

所以我的问题来自于添加Tag一个Post.我想PUTPOST标签对象到api.com/posts/1/tags服务器将执行所有服务器端的事情.

目前,

  1. 带有{embedded: 'always'}配置集的Ember-data 将发送包含整个对象(包含新对象)的PUTto 作为JSON字符串化字符串.api.com/posts/1PostTag

  2. 如果没有{embedded: 'always'}配置集,ember-data将尝试PUT使用标记对象,api.com/tags并将Tag使用post_id参数发送对象,以便服务器端可以执行所有服务器端的操作.

我宁愿不做1,因为我的服务器没有这样设置.我宁愿不做2,因为PUT/POST/GETs api.com/tags应该真的应用于我的应用程序的"标签管理"部分,而不是真正将标签应用于帖子.此行为的另一个示例是 …

ember.js ember-data

7
推荐指数
1
解决办法
629
查看次数

标签 统计

ember-data ×1

ember.js ×1