タスクモデルをデータベースに更新しようとすると問題が発生します。それはまるでその新しいモデルのように働く。私はまた関連するかもしれないセーブの後にエラーを得る?エラーとコードは次のとおりです。追加情報は必要ですか?backbonejs保存時のPUTの代わりに
私はこのquestion related to my questionを見ましたが、id属性を使用していることを確認しました。
エラー:
Uncaught TypeError: Object function (obj) { return new wrapper(obj); } has no method 'has'
_.extend.setbackbone.js:246
_.extend.save.options.successbackbone.js:308
jQuery.Callbacks.firejquery.js:1046
jQuery.Callbacks.self.fireWithjquery.js:1164
donejquery.js:7399
jQuery.ajaxTransport.send.callback
コード:
Update: function(id) {
console.log('Updating task');
this.task = this.taskList.get(id);
var new_task_name = prompt("enter new name for " + this.task.get("name"),"Default...");
console.log('saving task ' + this.task.id +': '+ this.task.get("name") + ' isNew? -' + this.task.isNew());
this.task.save({
name: new_task_name
});
console.log('task saved ' + this.task.id +': '+ this.task.get("name") + ' isNew? -' + this.task.isNew());
this.taskView = new TaskView({
model: this.task
});
this.taskView.render();
}
これは役に立つ情報です、ありがとうございます! – Lucas
問題はありませんが、例では名前がビューで正しく更新されますが、サーバーが他のプロパティを更新するより複雑な例ではこれは便利です。エラーハンドラは、保存が失敗した場合でも、そこに存在する必要があります。 –
yea先日私はこれを実装し、コールバックに基づいてビューレンダリングを変更しました。 – Lucas