Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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
Javascript 未捕获类型错误:对象#<;兰帕德>;没有方法';呼叫';_Javascript_Ruby On Rails_Backbone.js_Coffeescript - Fatal编程技术网

Javascript 未捕获类型错误:对象#<;兰帕德>;没有方法';呼叫';

Javascript 未捕获类型错误:对象#<;兰帕德>;没有方法';呼叫';,javascript,ruby-on-rails,backbone.js,coffeescript,Javascript,Ruby On Rails,Backbone.js,Coffeescript,我尝试循环遍历集合,并为集合中的每个模型渲染模板。我做错了什么 顶层视图: class App.Views.Content extends Backbone.View className: 'views-container' template: HandlebarsTemplates['app/templates/content'] render: -> @$el.html(@template()) @renderEmptyView() @rend

我尝试循环遍历集合,并为集合中的每个模型渲染模板。我做错了什么

顶层视图:

class App.Views.Content extends Backbone.View
  className: 'views-container'

  template:  HandlebarsTemplates['app/templates/content']

  render: ->
    @$el.html(@template())
    @renderEmptyView()
    @renderLanParties()
    @

  renderEmptyView: ->
    v = new App.Views.Empty()
    @$('.content-wrapper').html(v.render().el)

  renderLanParties: ->
    v = new App.Views.LanParties({ collection: new App.Collections.LanParties })
    @$('.lan-list').html(v.render().el)
视图渲染集合:

class App.Views.LanParties extends Backbone.View
  className: 'lan-parties-list'

  template:  HandlebarsTemplates['app/templates/lan_parties']

  initialize: ->
    @listenTo @collection, 'reset', @render()
    @collection.fetch({ reset: true })

  render: ->
    @$el.html(@template())
    @collection.forEach @renderLanParty, @
    @

  renderLanParty: (model) ->
    v = new App.Views.LanParty({ model: model })
    @$('ul').append(v.render().el)
模型:

class App.Models.LanParty extends Backbone.Model

class App.Collections.LanParties extends Backbone.Collection
  model:  App.Models.LanParty
  url: "/lan_parties"

在App.Views.lan中,参与方不调用@render,change

@listenTo @collection, 'reset', @render()

您可能希望在App.Views.Content中实例化新的App.Collections.LanParties

@listenTo @collection, 'reset', @render