У меня возникли проблемы с сохранением изменений в отдельных моделях в коллекции. Модели, которые были загружены (через коллекцию .reset()), выдает POST (как если бы они были новыми) вместо ожидаемого PUT.
Здесь подход, который я принимаю:
APPVIEW
-
Загружает дочернюю коллекцию с помощью this.model.childcollection.reset(JSON DATA FROM SERVER);
-
В этой функции рендеринга создается новый дочерний элемент для каждого элемента в коллекции и отображает его:
render: function() { var el = this.el; this.model.childcollection.forEach(function(s) { var view = new ChildView({ model: s }); el.append(view.render().el); }); return this; },
ChildView
-
В одном из своих событий он меняет некоторые значения базовой модели и вызывает сохранение:
this.model.set( { ValueA: somevalue, ValueB: somevalue }, { error: function() { console.log("Error saving model"); }, success: function() { console.log("Model change saved"); } }); this.model.save();
замечания:
- POST (без дочернего id) вызывается вместо PUT (с дочерним идентификатором)
- У дочерних элементов установлены идентификаторы
Может ли кто-нибудь сказать мне, почему это может происходить?