2

バックボーン アプリケーションに次のコードがあります。

app.Collections.quotes = new app.Collections.Quotes();
app.Collections.quotes.fetch();

また、ネットワーク タブに返されたオブジェクトの配列を確認できますが、コレクションを展開すると、内部のモデル配列は 0 です。新しいコレクションで fetch() を実行すると、モデルとしてインスタンス化されますか?

これは私のコレクションです:

app.Collections.Quotes = Backbone.Collection.extend({
  model: app.Models.Quote,
  url: function() {
    return app.Settings.apiUrl() + '/quotes';
  }
});

編集:

app.Collections.quotes.fetch({
        success: function(){
            app.Utils.ViewManager.swap('section', new app.Views.section({section: 'quotes'}));
        }
    });

そして私のモデルでは:

idAttribute: 'Number',

これが正解でした!手伝ってくれてありがとう。ダンは、コメントの中で正しい方向に私を指摘しました...

4

1 に答える 1

1

Collectionを呼び出すと、JSON 応答を Models: Collection#fetchfetch()に入力しようとします。

サーバーはオブジェクトの有効な JSON 配列を確実に返していますか?

見積もりモデルの検証はありますか? バックボーンは、コレクションにデータを入力する前に各モデルを検証し、合格したモデルのみを入力すると確信しています。したがって、存在する場合は、Model#validateメソッドが正しく機能していることを確認してください。

ID は必要ありません (ただし、編集する場合は明らかに ID が必要です)。

于 2013-01-24T13:37:14.793 に答える