javascript – 未捕获TypeError:undefined不是rails3 / backbone / js的功能

我刚刚开始研究 javascript,使项目更加灵敏,我正在通过一个backbone.js工作.

我在一个新的Rails 3项目中复制了http://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example/.

我运行的项目,并去主页….并有一个链接到/#,没有别的.查看js控制台,我收到两个脚本的错误:application.js和backbone.js

这(backbone.js)

backbone-min-0-3-3.js:8Uncaught TypeError: Cannot call method 'extend' of undefined

和这个(application.js):

var App = {
        Views: {},Controllers: {},Collections: {},init: function() {

        new App.Controllers.Fffforms();
**error message ---> application.js:9Uncaught TypeError: undefined is not a function**
            Backbone.history.start();
        }
};

对于js来说,这并不完全正确,在短期内没有任何帮助.

任何人都可以告诉我这些错误究竟是什么意思,以及如何跟进?一切检查比较资源
https://github.com/jamesyu/CloudEdit,但是我从一个新的rails 3项目(不是该repo的克隆)的复制并不完全正常.

任何建议赞赏,铭记我刚刚开始学习一些javascript.

编辑:

通过建议,我去了,实际上添加了Jammit gem,并将其配置为提供所有的js脚本,认的Rails都不是.现在所有的脚本都是浏览器(包括控制器).不幸的是,这并不能解决原来的问题,只能在加载时给出更多的错误,这些错误来自于在chrome js控制台中的App init:

Uncaught TypeError: undefined is not a function
App.initapplication.js:9
(anonymous function):3000/#new:32
d.extend._Deferred.f.resolveWithjquery.min.js:16
d.d.extend.readyjquery.min.js:16
d.c.addEventListener.yjquery.min.js:16

鉴于我现在只是复制,除了我的atm之外,还有一些小的被忽视的细节阻止了应用程序启动.

解决方法

听起来你没有包含持有App.Controllers.Fffforms声明的文件.确保您在包含application.js之前将该文件包含在您的代码中.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...