3

モデル項目を作成および破棄するだけの非常に基本的なバックボーン (サンプル) アプリケーションがあります。モデルが作成されると、オブジェクトは Web サーバーへの POST で永続化されますが、モデルが破棄されるとサーバーに送信される DELETE はありませんか? なぜこれが考えられるのでしょうか?

非常に基本的なモデル:

window.User = Backbone.Model.extend({
  urlRoot: 'users'
});

モデルを作成および削除するための私のテストコード:

var model = null;

$(".add").click(function(){
  if (model == null) {
    model = new window.User;
    model.set({name: 'meeee'});
    model.save();
  }
});

$(".remove").click(function(){
  if (model != null) {
    model.destroy();
  }
});

モデルを作成するときの JSON 応答も良いようです。

ここに画像の説明を入力

4

1 に答える 1

12

Backbone.jsのコピーをなんらかの方法で変更していない限り、Backboneは_idがidフィールドに使用している名前であることを認識しません(変更しないでください)。特定のモデルのidフィールドの名前をBackboneに伝えるには、モデル定義のidAttributeを使用します。それ以外の場合は、デフォルトで通常のになりidます。

「identity」フィールドが設定されていない場合、Backboneはモデルインスタンス「isNew」(サーバーに永続化されていないモデルインスタンス)と見なします。したがって、「identity」がない場合(あなたの場合のように、代わりに、自分のIDが_idサーバー上で破棄される必要がないことを認識していません。

于 2012-06-03T22:35:23.393 に答える