Ruby on rails 3.1 未捕获类型错误:无法调用方法';扩展';未定义的

Ruby on rails 3.1 未捕获类型错误:无法调用方法';扩展';未定义的,ruby-on-rails-3.1,backbone.js,coffeescript,Ruby On Rails 3.1,Backbone.js,Coffeescript,我正在尝试使用CoffeeScript类来扩展Backbone.Model。我构建了一个全新的rails 3.1应用程序,创建了一个具有3个属性的“Stone”脚手架,并将Todos.coffee示例的一个片段修补到stones.js.coffee中。我在app/assets/javascripts文件夹中有backbone.js和下划线.js。当我在ChromeJava控制台下运行时,我在控制台日志中得到了上面的消息。有什么想法吗 实际代码如下: $ -> class Todo

我正在尝试使用CoffeeScript类来扩展Backbone.Model。我构建了一个全新的rails 3.1应用程序,创建了一个具有3个属性的“Stone”脚手架,并将Todos.coffee示例的一个片段修补到stones.js.coffee中。我在app/assets/javascripts文件夹中有backbone.js和下划线.js。当我在ChromeJava控制台下运行时,我在控制台日志中得到了上面的消息。有什么想法吗

实际代码如下:

$ -> 

  class Todo extends Backbone.Model
    # Default attributes for the todo.
    defaults:
     content: "empty todo..."
     done: false

    # Ensure that each todo created has `content`.
    initialize: ->
      if !@get("content")
      @set({ "content": @defaults.content })

    # Toggle the `done` state of this todo item.
    toggle: ->
      @save({ done: !@get("done") })

    # Remove this Todo from *localStorage* and delete its view.
    clear: ->
      @destroy()
      @view.remove()

正在使用的application.js是Rails 3.1生成的。我从Todos github repo复制了backbone.js和underline.js,

问题只是
underline.js
backbone.js
之后加载,而它是必须在之前加载的预请求。(请注意,在中,它会立即设置
var\uz=root.\uz
,因此,即使稍后声明了全局
\uz
,它在主干网的作用域中也不可见。)默认情况下,链轮按字母顺序加载资产目录中的JS文件

可以使用链轮修复此问题:放置

//= require underscore.js
以前

//= require_tree .

确保先加载它。

确保backbone.js和underline.js实际添加到页面中。如果您在开发环境中,您应该能够查看源代码并查看它们是否被包括在内。可以粘贴application.js或在此视图中使用的任何清单文件吗?