我一直在关注cloudedit教程http://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example/,为我的rails应用程序添加骨干,但我使用的是rails 3.1.3而不是3.0。
我一直收到以下错误
Uncaught TypeError: Cannot call method 'extend' of undefined application.js:7Uncaught TypeError: undefined is not a function
我认为错误是由以下代码引起的
var App = { Views: {}, Controllers: {}, Collections: {}, init: function() { new App.Controllers.Recipes(); Backbone.history.start(); } };
这与教程非常相符。 我目前在
assets/javascripts/application.js文件中有这段代码,在我包含目录的部分下面,我调用了
$(function(){ App.init(); });
在我的application.html.erb文件中。
错误实际指的是
App.Controllers.Recipes = Backbone.Controller.extend(
我已经尝试将var App移动到不同的文件,但我似乎无法让它工作。
我是否正确理解错误?还有什么我可能会遗失的吗?
答案 0 :(得分:2)
您使用的是Backbone> = 0.5.0
版本,如果是这样,则不再有Controller
个对象。它已重命名为Router
。