I have a Backbone model:
var User = Backbone.Model.extend({
idAttribute: \'_id\',
url: \'/api/user\',
defaults:
{ username: \'\'
}
});
Try checking user.isNew()
.
Looks like you created a new model which does not have an ID, that's why it's trying to add it during Backbone.sync
.
UPDATE:
Above is exactly true. It does POST
because it's a new model (which means, it does not have an id). Before you fetch a model, you need to give it an id. In your example:
var user = new User();
user.fetch();
user.save(); // in XHR console you see POST
var user = new User({ id: 123 });
user.fetch();
user.save(); // in XHR console you see PUT