0

私はコレクションを持っています:conditions。ビューでは、エラー応答を返した後、HTTP 403明らかにモデルを作成したくありません。

var attributes = ...;
conditions.create(attributes, {
  error: function (model, response) {
    conditions.trigger('error');
    var response = JSON.parse(response.responseText);
    console.log(response);
  }
});

errorコールバックは正しく呼び出されています。応答は正しくログに記録されます。しかし、バックボーンはまだ(壊れた)モデルをコレクションに追加します!を見るとconditions.toJSON()、いくつかの壊れた属性を持つ新しいモデルがあります。

サーバーからエラーを返しましたが、Backboneが新しいモデルをコレクションに追加しないように要求するにはどうすればよいですか?

コールバックで実行できますconditions.remove(model)が、実行する必要がありますか?

4

1 に答える 1

6

メソッドに渡すことができ{wait: true}ますcreate

モデルを作成すると、サーバー上でモデルが正常に作成さ"add"れると、コレクションでイベントがトリガーされるだけでなく、"sync"イベントもトリガーされます。新しいモデルをコレクションに追加する前にサーバーを待機する場合は、合格{wait: true}します。

http://documentcloud.github.com/backbone/#Collection-create

于 2012-05-31T00:31:00.477 に答える