获取Backbone Collection仅返回单个模型

时间:2015-07-27 17:56:56

标签: javascript json backbone.js backbone.js-collections

Backbone仅在我获取时从集合中填充第一个模型。

@leadgen_forms = new app.collections.LeadgenForms [],
    { event_provider_id: @event_provider_id }
@leadgen_forms.fetch
  success: _.bind ((collection, response) ->
    debugger

当我从成功中检查收集时:

enter image description here

上图显示长度为11但只有一个型号。我知道如果每个模型都没有唯一的ID,那么骨干将模型视为重复。但是,当我检查从JSON服务返回的数据时,所有所有ID都是唯一的,其他一切看起来都是犹太人的:

enter image description here

从模型中:

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'

1 个答案:

答案 0 :(得分:0)

看来我的问题是来自模型的这一行:

@id = options.id

当实例化新模型时,ID将被设置为null(第一个模型除外)。