Rails 3.2 バックエンドで backbone.js とバックボーン リレーショナル 0.5.0 を使用しています。has_many Notes の Card モデルがあります。
これが私の JS モデルとコレクションです。
Workflow.Collections.Cards = Backbone.Collection.extend({
model: Workflow.Models.Card,
url: '/cards'
});
Workflow.Models.Card = Backbone.RelationalModel.extend({
modelName : 'card',
urlRoot : '/cards',
relations: [
{
type: Backbone.HasMany,
key: 'notes',
relatedModel: 'Workflow.Models.Note',
collectionType: 'Workflow.Collections.Notes',
includeInJSON: false,
reverseRelation: {
key: 'card',
includeInJSON: 'id'
}
}]
});
Workflow.Collections.Notes = Backbone.Collection.extend({
model: Workflow.Models.Note,
url: '/cards/74/notes' // intentionally hard-coded for now
});
Workflow.Models.Note = Backbone.RelationalModel.extend({
modelName : 'note',
urlRoot : '/notes'
});
通常のフェッチは問題なく機能しますが、コンソールで fetchRelated を実行すると、空の配列が得られます。
card = new Workflow.Models.Card({id: 74}) // cool
card.fetch() // hits the sever with GET "/cards/74" - works great
card.fetchRelated('notes') // [] - didn't even try to hit the server
奇妙なのは、これが機能することです:
card.get('notes').fetch() // cool - GET "/cards/74/notes"
その方法を使用して応答テキストを解析することもできましたが、非常に汚い感じがします。
ここで何が欠けているか知っている人はいますか?
前もって感謝します、これは本当に私を苦しめています!
ストゥ