У меня есть коллекция: conditions
. В представлении после возвращения ответа HTTP 403
ошибки, я хочу, чтобы явно не создать модель:Backbone.js пытается сохранить, когда передается обратный вызов?
var attributes = ...;
conditions.create(attributes, {
error: function (model, response) {
conditions.trigger('error');
var response = JSON.parse(response.responseText);
console.log(response);
}
});
error
обратного вызова вызывается правильно. Ответ регистрируется правильно. Но основа все еще добавляет (сломанную) модель к коллекции! Когда я смотрю на conditions.toJSON()
, появляется новая модель с некоторыми сломанными атрибутами.
Я вернул ошибку с сервера, как я настаиваю на том, чтобы Backbone не добавлял новую модель в коллекцию?
Я могу сделать conditions.remove(model)
в обратном вызове, но должен ли я?
Да. Я думаю, что лучший термин для этого (как указано в документах) заключается в том, что Backbone «оптимистичен» в отношении создания и синхронизации модели. – jmk2142