次のような POST リクエストを使用して、ファイルのキーワードのコレクションを取得したいと考えています。
api.host.com/file/4/keywords
url
しかし、urlRoot
キーワード モデルとキーワード コレクションを定義するにはどうすればよいでしょうか。docsを読みましたが、理解できませんでした。
次のような POST リクエストを使用して、ファイルのキーワードのコレクションを取得したいと考えています。
api.host.com/file/4/keywords
url
しかし、urlRoot
キーワード モデルとキーワード コレクションを定義するにはどうすればよいでしょうか。docsを読みましたが、理解できませんでした。
いつものように、一般的に、特に 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'
}