1

次のような POST リクエストを使用して、ファイルのキーワードのコレクションを取得したいと考えています。

api.host.com/file/4/keywords

urlしかし、urlRootキーワード モデルとキーワード コレクションを定義するにはどうすればよいでしょうか。docsを読みましたが、理解できませんでした。

4

1 に答える 1

3

いつものように、一般的に、特に JS では、それを行う方法はたくさんあります。私はそれを行ういくつかの方法をあなたに言うことができます.

1)keywordsコレクションを次のように定義します

Keywords = Backbone.Collection.extend( { ... } )

次に、それをモデルのプロパティとして使用し、File実行中に正しい値を設定しますinitialize()

File = Backbone.Model.extend({

    // the empty array [] is the initial set of models
    this.keywords = new Keywords([], { url: '/file/' + this.id + '/keywords' });

})

このようにして、呼び出しfile.keywords.fetch()てコンテンツを取得できます。

2)keywordsコレクションを次のように定義します

Keywords = Backbone.Collection.extend({

    initialize: function(models, options) {
        this.modelId = options.modelId
    },

    url: function() {
        return '/file/' + this.modelId + '/keywords'
    }

});

そして、必要に応じて、次のようにインスタンスを作成します。

File = Backbone.Model.extend({

    this.keywords = new Keywords([], { modelId: this.id });

})

完全な答えを得るには、実際にinitialize()関数を削除して(必要ない場合)、次のように記述してurl機能させることができます

url: function() {
    return '/file/' + this.options.modelId + '/keywords'
}
于 2013-06-06T14:38:23.810 に答える