小编Joh*_*ohn的帖子

Backbone.js服务器端验证和其他服务器端错误

当遇到服务器端错误(例如验证错误)时,如何回滚模型更改?

鉴于某些验证必须在服务器端完成,使用backbone.js(Rails后端)执行此操作的适当方法是什么?

保存骨干模型时,如果验证失败,则会触发客户端验证,从而提供适当的用户体验(该模型的视图不会更新).但是,如果服务器端验证失败,则在PUT到服务器之前,模型及其所有视图已经更新(使用无效数据).

这似乎有一些问题.

  1. 在模型经过服务器端验证之前,所有视图都会更新.例如,如果您有一个带有弹出编辑对话框的模型列表,则在调用Model.save之后但在服务器端验证和PUT之前,列表中的模型将使用可能不可验证的信息进行更新.
  2. 如果服务器返回错误(例如422错误),则不会发生模型的"回滚".不可验证的数据就像粪便一样坐在那里.这真的很糟糕.

我使用backbone.js错了吗?是否有一种众所周知的方法来处理这种(非常常见的)情景?我知道我可以对旧值等进行一些手动缓存,但这是一种有臭味的解决方案.

谢谢!

ruby-on-rails backbone.js

11
推荐指数
1
解决办法
3039
查看次数

标签 统计

backbone.js ×1

ruby-on-rails ×1