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