Я пытаюсь использовать Backbone.Relational, чтобы настроить некоторые ассоциации в моем приложении.Магистраль Реляционная не корректно устанавливает обратные отношения?
В основном у меня есть опорная линия Search
и Service
модели. Поиск имеет коллекцию ServiceList
, которая содержит множество услуг.
Однако, похоже, я не могу получить доступ к родительскому поиску из инициализатора службы. Когда я пытаюсь зарегистрировать родительский поиск, я получаю null
. Может ли кто-нибудь увидеть, что я делаю неправильно?
Мой поиск модели устанавливается таким образом (код может иметь синтаксических ошибок, я перевожу с CoffeeScript на лету):
var Search = new Backbone.RelationalModel({
urlRoot: '/searches',
relations: [{
type: Backbone.HasMany,
key: 'services',
relatedModel: 'Service',
collectionType: 'ServiceList',
reverseRelation: {
key: 'search'
}
}],
initialize: function(options) {
// => Search "has services:", ServiceList
console.log this, "has services:", @get('services');
}
});
var Service = new Backbone.RelationalModel
initialize: function() {
// => Service "in" null
console.log this, "in", @get('search');
}
});
Или, если вы предпочитаете CoffeeScript:
class Search extends Backbone.RelationalModel
urlRoot: '/searches'
relations: [
type: Backbone.HasMany
key: 'services'
relatedModel: 'Service'
collectionType: 'ServiceList'
reverseRelation:
key: 'search'
]
initialize: (options) ->
// => Search "has services:", ServiceList
console.log this, "has services:", @get('services')
class Service extends Backbone.RelationalModel
initialize: ->
// => Service "in" null
console.log this, "in", @get('search')
Да, JS Вы отправили очень не-правильно. Можете ли вы опубликовать оригинал coffeescript? –