仅获取 Backbone 集合 Returns 单个模型
Fetching Backbone Collection Only Returns Single Model
Backbone 获取时只填充集合中的第一个模型。
@leadgen_forms = new app.collections.LeadgenForms [],
{ event_provider_id: @event_provider_id }
@leadgen_forms.fetch
success: _.bind ((collection, response) ->
debugger
当我检查收集成功时:
上图显示长度为11但只有一个模型。我知道如果每个模型都没有唯一的 ID,那么 backbone 会将这些模型视为重复项。但是,当我检查从 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'
看来我的问题是模型中的这一行:
@id = options.id
实例化新模型时,ID 将设置为 null(第一个模型除外)。
Backbone 获取时只填充集合中的第一个模型。
@leadgen_forms = new app.collections.LeadgenForms [],
{ event_provider_id: @event_provider_id }
@leadgen_forms.fetch
success: _.bind ((collection, response) ->
debugger
当我检查收集成功时:
上图显示长度为11但只有一个模型。我知道如果每个模型都没有唯一的 ID,那么 backbone 会将这些模型视为重复项。但是,当我检查从 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'
看来我的问题是模型中的这一行:
@id = options.id
实例化新模型时,ID 将设置为 null(第一个模型除外)。