0

新しいバックボーン モデル (ノックバック内で動作) を作成しようとしています。現在、RESTful バックエンド サーバーでセットアップしようとしています。この問題は、objectives.sync() を使用しようとすると URL が受け入れられないことです。ただし、objectives.fetch() を実行すると正常に動作し、指定された URL からデータを正しくプルします。ここで何が間違っていますか?

/**
 *  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) {}
});

このコレクションを実際に使用するコードは、次のとおりです。

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();
});/**/
4

1 に答える 1

1

sync()そのようなパラメータなしで呼び出さないでください。Sync は引数を必要とするため、エラーが発生しますが、おそらくやりたいことはobjective_model.save().

于 2013-05-24T20:15:58.433 に答える