/ / Backbone.js Model Sync beansprucht URL Undefiniert - backbone.js, backbone.js-collections, ckbackback.js

Backbone.js Model Sync beansprucht URL Undefiniert - backbone.js, backbone.js-collections, ckbackback.js

Ich versuche ein neues Backbone-Modell zu machen (funktioniertin Knockback) und ich versuche derzeit, es mit einem RESTful-Backend-Server einzurichten. Das Problem ist, dass die URL nicht akzeptiert wird, wenn versucht wird, die objektive.sync () zu verwenden. Es funktioniert normalerweise, wenn Sie objectives.fetch () ausführen und die Daten korrekt von der angegebenen URL abrufen. Was mache ich hier falsch?

/**
*  Objectives model
*/
var Objective = Backbone.Model.extend({
url: "api/objective",
// Defaults
defaults: {
category: null,
weight: null,
name: null,
descriptor: null
}
});
/**
*  Basic objectives collection
*/
var ObjectiveCollection = Backbone.Collection.extend({
model: Objective,
url: function() {
return "api/objective";
},
initialize: function(models,options) {}
});

Der Code, um diese Sammlung tatsächlich zu nutzen, kann hier gesehen werden:

var objectives = new ObjectiveCollection();
objectives.fetch();
var view_model = {
objectives: kb.collectionObservable(objectives, {view_model: kb.ViewModel})
};
ko.applyBindings(view_model, $("#objectives").get(0));
// Listener for the click button
$("#click").click(function() {
counter++;
var objective_model = new Objective({name: Math.random(), descriptor: "What up"});
objectives.add(objective_model);
objectives.sync();
});/**/

Antworten:

1 für die Antwort № 1

Ruf nicht an sync() ohne solche Parameter. Sync erwartet Argumente, weshalb Sie einen Fehler bekommen, aber mehr auf den Punkt, was Sie wahrscheinlich tun möchten objective_model.save().