Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 与emberjs和x2B的子资源;余烬数据_Ember.js_Ember Data - Fatal编程技术网

Ember.js 与emberjs和x2B的子资源;余烬数据

Ember.js 与emberjs和x2B的子资源;余烬数据,ember.js,ember-data,Ember.js,Ember Data,因此,我有一个(我认为是)普遍的问题,即余烬数据。我想知道如何正确地定制适配器以适应以下情况 假设我有两个对象:Post和Tag 调用App.Post.find()。这很好 App.Tag.find()将返回api.com/tags上可用的所有标记App.Tag.find(1)将在正确的url处返回相应的标记。也很好 如果我通过App.Post.createRecord({…})创建新帖子,它将Post发布到正确的url。创建标记时也是如此。到目前为止,一切都很顺利 贴子上的标签是嵌入的,因为它

因此,我有一个(我认为是)普遍的问题,即余烬数据。我想知道如何正确地定制适配器以适应以下情况

假设我有两个对象:
Post
Tag

调用
App.Post.find()。这很好

App.Tag.find()
将返回
api.com/tags
上可用的所有标记
App.Tag.find(1)
将在正确的url处返回相应的标记。也很好

如果我通过
App.Post.createRecord({…})
创建新帖子,它将
Post
发布到正确的url。创建
标记时也是如此。到目前为止,一切都很顺利

贴子上的标签
是嵌入的,因为它们“在”该贴子上

App.Adapter.map("App.Post", {
    tags: {embedded: 'always'}
});
在加载过程中,余烬数据做的一切都很好,我仍然非常高兴

因此,我的问题来自于将
标记添加到
Post
。我想
PUT
POST
将标记对象放置到
api.com/posts/1/tags
中,服务器将在其中执行服务器端的所有操作

目前,

  • 带有
    {embedded:'always'}
    配置集的余烬数据将向
    api.com/posts/1
    发送
    PUT
    ,整个
    Post
    对象(包括新的
    标记
    对象)作为JSON字符串

  • 如果没有
    {embedded:'always'}
    配置集,ember data将尝试
    将标记对象放入
    api.com/tags
    ,并将
    标记
    对象与
    post\u id
    参数一起发送,以便服务器端可以完成所有服务器端的工作

  • 我宁愿不做1,因为我的服务器不是那样设置的。我宁愿不做2,因为
    api.com/tags
    上的
    PUT/POST/GET
    s实际上应该用于我应用程序的“标记管理”部分,而不是真正将标记应用于帖子。这种行为的另一个例子是

    有人知道如何处理余烬数据吗?
    谢谢

    > P>您可以考虑重写RestAldSeriaDrTyReCordsFasHyMyRechange函数,以管理在事务期间如何处理标签。


    但有一点让人困惑的是,您没有嵌入的关系,但是您不想在模型后关系更改期间执行PUT-on标记。我不确定我是否看到了开箱即用适配器行为的问题。

    谢谢。。。不过,我不确定我是否理解令人困惑的部分。我确实有很深的感情。。。它们在负载下工作得很好。我只想像github为问题添加标签一样,为帖子添加标签。看:对不起。现在我明白了。您将需要覆盖一点JSONSerializer#addHasMany,甚至可能覆盖JSONSerializer#addBelongsTo。但由于您是这样做的,这会导致关于哪个模型是脏的(要提交的)的混淆。你可能会挖得很深,可能会创建自己的适配器!我真的很感谢你的帮助!再次感谢您为我们的解释提供了一些启示,因为我们以同样的方式对这个问题进行了推理,这似乎没有什么意义,因为余烬是RESTFul的,不是吗?嘿@Andreimpp我最终使用嵌入式:“加载”,我们自己的ajax提交给服务器,并手动操作余烬数据状态机。所有这些都是令人惊叹的-我计划在这成为现实时重做一次: