Pierwszą rzeczą, którą możesz przegapić, jest to, że w odpowiednim modelu tagu musisz ustawić "urlRoot", aby pasował do "url" kolekcji. W przeciwnym razie nie wie o kolekcji na wszystkich:
var Tag = Backbone.Model.extend({
urlRoot: "/api/v1/tags"
});
var Tags = Backbone.Collection.Extend({
model: Tag,
url: "/api/v1/tags"
});
Jest to przydatne jeśli chcesz zapisać tag oddzielnie:
var tag = collection.get(2);
tag.set({key: "something"});
tag.save(); // model.save works because you set "urlRoot"
Z kolekcji „create()” jest również " update() "jeśli id nie jest zerowy. To nie jest mylące. :) W związku z tym, jest to dość dużo równoważna poprzedniej próbki:
collection.create({id: 2; key: "something"});
To będzie zaktualizować istniejący tag id = 2, a następnie wywołać PUT.
To jest starożytne pytanie; odpowiadając, ponieważ szukałem tej samej odpowiedzi - prawdopodobnie już dawno rozwiązałeś ten problem i ruszysz dalej. :)
Czy wypróbowałeś 'model.save ({name: 'new name'});'? –