gpt4 book ai didi

ruby-on-rails - 扩展主干以支持 Rails 样式错误

转载 作者:行者123 更新时间:2023-12-02 03:54:50 25 4
gpt4 key购买 nike

我正在寻找一种减少代码重复的方法。目前,每当我保存一个 Backbone 模型时,我总是提供以下代码来将 Rails stock 422 响应反序列化为一个错误属性:

model.save({ name: "..." }, error: function(model, response) {
result = $.parseJSON(response.responseText)
model.errors = result.errors
...
});

是否可以配置 Backbone,使其在调用我的回调之前反序列化错误?我尝试覆盖 sync 方法,但此时回调被包裹在匿名函数中(并且不再可访问)。

最佳答案

您可以使用由其他需要错误解析的模型扩展的 ErrorHandler 模型。 ErrorHandler 模型应该监听“错误”事件(在请求后发生错误时由同步函数触发)。

var ErrorHandler = Backbone.Model.extend({

initialize: function() {
this.on("error", this.defaultErrorHandler, this);
},

defaultErrorHandler: function(model, error) {
result = $.parseJSON(response.responseText)
model.errors = result.errors
...
}

});

var OtherModel = ErrorHandler.extend({
...
});

var model = new OtherModel();

model.save({ name: "..." });

关于ruby-on-rails - 扩展主干以支持 Rails 样式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13106484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com