Я пытаюсь получить всех клиентов, у которых есть вложенные клиентские контакты (люди). У меня возникли проблемы с получением коллекции контактов клиента, которая принадлежит клиенту/компании. Если я попытаюсь получить коллекцию, я ничего не получу. Кстати, я новичок в магистрали и связанных с ней вещах.
Вот код, который я запускаю в консоли, чтобы показать свою проблему.
c = new SpencerGrafica.Models.Client({id:1})
c.fetch()
c.toJSON()
Object {id: 1, name: "Name", contacts: Array[0], …}
c.get('contacts').toJSON()
[] # (There should be ONE result, as I set this relation in rails console)
если я запускаю c.get('contacts').fetch(), я получаю все «клиентские контакты», а не только тех, кто связан. Может проблема с URL? Что мне не хватает...?
Спасибо.
Вот код моделей:
клиент.js.кофе
class SpencerGrafica.Models.Client extends Backbone.RelationalModel
paramRoot: 'client'
urlRoot: 'clients'
defaults:
id: null
name: null
relations: [{
type: Backbone.HasMany,
key: 'contacts',
relatedModel: 'SpencerGrafica.Models.ClientContact',
collectionType: 'SpencerGrafica.Collections.ClientContactsCollection',
autoFetch: true,
reverseRelation: {
key: 'client',
keySource: 'client_id'
}
}]
class SpencerGrafica.Collections.ClientsCollection extends Backbone.Collection
model: SpencerGrafica.Models.Client
url: '/clients'
ClientContact.js.coffee
class SpencerGrafica.Models.ClientContact extends Backbone.RelationalModel
paramRoot: 'client_contact'
urlRoot: 'client_contacts'
defaults:
name: null
email: null
phone: null
class SpencerGrafica.Collections.ClientContactsCollection extends Backbone.Collection
model: SpencerGrafica.Models.ClientContact
url: 'client_contacts'