サーバーにデータを保存するバックボーンでこのコードを実行しています。
GroupModalHeaderView.prototype.save = function(e) {
var $collection, $this;
if (e) {
e.preventDefault();
}
$this = this;
if (this.$("#group-name").val() !== "") {
$collection = this.collection;
if (this.model.isNew()) {
console.log("MODEL IS NEW");
this.collection.add(this.model);
}
return this.model.save({ name: this.$("#group-name").val()}, {
async: false,
wait: true,
success: function() {
//console.log($this, "THIS");
console.log('Successfully saved!');
this.contentView = new app.GroupModalContentView({
model: $this.model,
collection: $this.collection,
parent: this
});
this.contentView.render();
return $this.cancel();
},
});
}
};
これは初めて実行したときは問題なく動作しますが、最初のデータを保存した直後にもう一度実行すると、新しいデータは保存されず、最後に保存されたデータが更新されるだけです。最初に保存すると POST リクエストが実行され、次に PUT リクエストが実行されるのはなぜでしょうか?
これが必要かどうかはわかりませんが、ここに私の初期化関数があります-
GroupModalHeaderView.prototype.initialize = function() {
_.bindAll(this)
}