Я сделал то, что вы сказали (коллекция в модели) с другой "стороны", которая бы работала здесь. Когда у меня была модель с коллекцией, я использовал события в модели для создания коллекции.
class ModelA extends Backbone.Model
initialize: ->
bind("change", @initializeCollection)
initializeCollection: ->
if !@collection
@collection = new Collection(@attributes.collection)
else
@collection.set(@attributes.collection)
Остальное тоже самое, поэтому я не буду его вставлять.
Также, если вы пойдете глубже:
модель A -> коллекция B -> модель B -> коллекция C -> модель C
Чем в modelB в конструкторе вы можете создать collectionC (при условии, что вы ее не используете)
[Изменить]
У меня есть другая идея:
class ModelA extends Backbone.Model
parse: (resp) ->
if @attributes.collection
@attributes.collection.set(resp.collection)
delete resp.collection
else
resp.collection = new Collection(resp.collection)
resp