Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
Javascript 主干。保存后集合中的元素太多_Javascript_Backbone.js_Marionette_Backbone Relational - Fatal编程技术网

Javascript 主干。保存后集合中的元素太多

Javascript 主干。保存后集合中的元素太多,javascript,backbone.js,marionette,backbone-relational,Javascript,Backbone.js,Marionette,Backbone Relational,我使用带提线木偶的主干和关系主干 比如说,我有一个拥有主干的动物园。收集了动物。 数据库中存储了一只动物(id为1)。 现在我向Backbone.Collection添加第二个动物,并调用zoo.save({},{wait:true})。 作为响应,我的后端服务器返回两个动物(id为1的旧动物和id为2的新动物)。 这很有效 问题:保存主干后。集合包含三种型号 id为1的动物 没有id的动物(只有cid) 服务器返回的id为2的新动物 相反,我只想要两个型号: id为1的动物 id为2的动物 我

我使用带提线木偶的主干和关系主干

比如说,我有一个拥有
主干的动物园。收集了
动物。
数据库中存储了一只动物(id为1)。
现在我向Backbone.Collection添加第二个动物,并调用
zoo.save({},{wait:true})
。 作为响应,我的后端服务器返回两个动物(id为1的旧动物和id为2的新动物)。 这很有效

问题:保存
主干后。集合
包含三种型号

  • id为1的动物
  • 没有id的动物(只有cid)
  • 服务器返回的id为2的新动物
  • 相反,我只想要两个型号

  • id为1的动物
  • id为2的动物
  • 我如何告诉主干网在已经存在的动物上设置服务器id,而不是向集合中添加新模型

    其他信息:

    My Zoo模型扩展了
    主干。RelationalModel
    ,其关系定义如下(类似于中的示例):


    这就是为什么保存zoo也会更新集合。

    我通常通过Ajax发布我的新模型(因为在客户端创建的模型在服务器端创建之前没有任何服务器数据支持),并且在Ajax函数的成功回调中,将从服务器返回的模型JSON添加到集合中,因此,请确保您的数据由后端驱动,并且您的客户端上没有在重新加载时不再存在的挂起数据/模型。

    是否有
    主干。收集
    是否有
    。保存
    方法?谢谢询问。我添加了一些关于使用backbone-relational定义的关系的信息
    
    relations: [
        type:           Backbone.HasMany
        relatedModel:   'Animal'
        collectionType: 'AnimalCollection'
        key:            'animals'
    ]