0

我正在关注 Ryan Bates RailsCast Backbone.js 教程。这张图片是他的教程的截图。

在此处输入图像描述

注意,在 views/entries/ 目录下,有一个名为“entries_index.js.coffee”的文件

当我生成我的脚手架时,该文件被简单地调用index.js.coffee

这可能很重要,因为 Ryan 在路由器中使用EntriesIndex.

index: ->
    new Raffler.Views.EntriesIndex()
    $('#container').html(view.render().el)

然后在 entries_index.js.coffee 文件中渲染模板

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

其中,为了演示,应该把它放在容器 div 中

<h1>Raffler</h1>

但是,当我这样做时,我在 Firebug 中收到此错误

   view is not defined
[Break On This Error]   

return $('#container').html(view.render().el);

由于文件entries_index.js.coffeev的名称不同index.js.coffee,我想知道 Ryan 以这种方式实例化视图是否很重要(即用驼峰式大小写代替下划线)

new Raffler.Views.EntriesIndex()

如果我改变它并尝试

 new Raffler.Views.Index()

我得到错误

 Raffler.Views.Index is not a constructor
[Break On This Error]   

new Raffler.Views.Index();

有什么想法可以让我重回正轨吗?

4

1 回答 1

0

我重新输入了代码,它现在可以正常工作了。这一定与咖啡脚本中的缩进有关。

于 2012-04-09T00:42:47.497 回答