私はsave
のsuccess
コールバックを使用して私のモデルを保存して更新しています。backbone.js更新と表示の追加
しかし、モデルが新しいかどうかに応じて別のadd
ビューを定義する方法や既存のモデルを更新する方法を理解しようとしています。
これはサーバー側ではありません。サーバーの作成/更新は正常に動作していますが、私はビューを更新するための「正しい」方法を見つけようとしています。
私のコードは非常に単純です
Myapp.FormInput = Backbone.Views.extend({ initialize: function(){... }, submit_form: function(){ if(this.id===undefined){ // this is a new model, so create it model.set(new Myapp.Model.set(Myapp.Models.Helpers.serialize_objects(form))); model.set({parent_id:parent.id}); } else { // this is an update to an existing model, so just update the model model.set(Myapp.Model.set(Myapp.Models.Helpers.serialize_objects(form))); model.url+='/'+this.id; } model.save(model, {success: function(model){ Myapp.Collection.add(model); }, error: function(){ alert('error creating or updating'); }} }); });
ロバートありがとう、私はあなたが昨日ここで言うことに似た何かをやり終えた。私が今やっていることは、モデル上でbindメソッドを使うことです。 1つは保存用、もう1つは更新用です。成功は実際には空になります。あなたのやり方はそれを語る長い道のりだったと思うので、私はあなたに勝利を与えた! – pedalpete