骨干App没有定义错误

时间:2011-12-19 17:25:01

标签: ruby-on-rails-3.1 backbone.js

我一直在关注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移动到不同的文件,但我似乎无法让它工作。

我是否正确理解错误?还有什么我可能会遗失的吗?

1 个答案:

答案 0 :(得分:2)

您使用的是Backbone> = 0.5.0版本,如果是这样,则不再有Controller个对象。它已重命名为Router