Backbone集合未使用REST响应模型更新?

时间:2014-01-25 19:23:48

标签: javascript node.js validation rest backbone.js

我有一个骨干应用程序,后端是带有REST API的Node / Express.js。该应用程序允许用户创建新条目,并且过去只使用客户端验证来清理和更新某些字段。但是,可以通过REST API(而不是客户端)创建条目,并且我想要一致且易于维护的验证过程,我将验证移至服务器。正是在这一点上,我意识到我的骨干实现并没有像我理解的那样工作。

使用此代码添加新模型。

this.collection.add(time);
time.save();

我的理解(事实证明可能是错误的)是集合将更新,通过模型URL属性与REST API同步。因此,任何服务器端更新都将与骨干模型同步,因为REST API会返回更新的模型(带有验证更新)。除非我做错了什么,否则这种方式不起作用?

我现在已经更新了我的代码(上图)所以它看起来像这样,等待ajax .done响应,然后将更新模型添加到集合中。

time.save()
  .done(function (model) {
    self.collection.add(model);
  });

它有效,但这是最好的方法吗?

1 个答案:

答案 0 :(得分:1)

有一种create方法可以在集合中添加新模型并将其保存到服务器中。

time.create(model);