2014-01-25 43 views
0

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

以此代码来添加新模型。

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

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

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

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

它的工作原理,但是这是做的最好的方法是什么?

回答

1

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

time.create(model); 
+0

是的,工作,谢谢!不知道我是如何错过了那个,现在明显地显而易见。 –

相关问题