我刚刚开始研究
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之外,还有一些小的被忽视的细节阻止了应用程序启动.