Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在主干中获取集合的时间为零_Ruby On Rails_Backbone.js_Coffeescript - Fatal编程技术网

Ruby on rails 在主干中获取集合的时间为零

Ruby on rails 在主干中获取集合的时间为零,ruby-on-rails,backbone.js,coffeescript,Ruby On Rails,Backbone.js,Coffeescript,编辑方法 editCollection: (event) -> @collection = new BackboneDemo.Collections.Backbonescripts() @collection.url = "/demos/#{event.target.id}/test" @collection.fetch() @collection.on('sync', @selectCheckbox(event), this) selectCheckbox: (even

编辑方法

editCollection: (event) ->
  @collection = new BackboneDemo.Collections.Backbonescripts()
  @collection.url = "/demos/#{event.target.id}/test"
  @collection.fetch()
  @collection.on('sync', @selectCheckbox(event), this)

selectCheckbox: (event) ->
  console.info @collection.length
  @collection.each (test) ->
  $('#'+event.target.id+'.test #'+test.get('id')+'.test_checkbox').prop('checked', true);
我甚至试着使用重置和成功的提取…但长度是零

我知道背骨是懒惰的


如何使用“等待提取完成…”?

替换以下位置的行:

editCollection: (event) =>
  . . .
selectCheckbox: (event) =>
  . . .

这是一个函数调用:

@collection.on('sync', @selectCheckbox(event), this)
# ---------------------^^^^^^^^^^^^^^^^^^^^^^
您正在调用
@selectCheckbox
并将其返回值传递给
@collection。在
上,就像您说的那样:

x = @selectCheckbox(event)
@collection.on('sync', x, this)
因此,在
'sync'
事件发生之前,您正在调用
@selectCheckbox
。我想你应该这样说:

@collection.on('sync', @selectCheckbox, @)
# ---------------------^^^^^^^^^^^^^^^ Now just a function reference
此外,还应注意
selectCheckbox
@集合中的缩进。每个
都将使用一个空函数进行迭代:

selectCheckbox: (event) ->
  console.info @collection.length
  @collection.each (test) ->
    $("##{event.target.id}.test ##{test.get('id')}.test_checkbox").prop('checked', true)