Backbone仅在我获取时从集合中填充第一个模型。
@leadgen_forms = new app.collections.LeadgenForms [],
{ event_provider_id: @event_provider_id }
@leadgen_forms.fetch
success: _.bind ((collection, response) ->
debugger
当我从成功中检查收集时:
上图显示长度为11但只有一个型号。我知道如果每个模型都没有唯一的ID,那么骨干将模型视为重复。但是,当我检查从JSON服务返回的数据时,所有所有ID都是唯一的,其他一切看起来都是犹太人的:
从模型中:
window.app.models.LeadgenForm = Backbone.Model.extend
initialize: (model, options) ->
@event_provider_id = options.event_provider_id
@id = options.id
url: ->
if @id
'/event_providers/' + @event_provider_id + '/leadgen_forms/' + @id
else
'/event_providers/' + @event_provider_id + '/leadgen_forms'
window.app.collections.LeadgenForms = Backbone.Collection.extend
model: window.app.models.LeadgenForm
initialize: (collection, options) ->
@event_provider_id = options.event_provider_id
parse: (response) ->
debugger
return response
url: ->
'/event_providers/' + @event_provider_id + '/leadgen_forms'
答案 0 :(得分:0)
看来我的问题是来自模型的这一行:
@id = options.id
当实例化新模型时,ID将被设置为null(第一个模型除外)。