Я только начал углубляться в javascript, чтобы сделать проект более отзывчивым, и я работаю на примере backbone.js.
Я повторил http://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example/ в новом проекте Rails 3.
Я запускаю проект и захожу на домашнюю страницу .... и там есть ссылка на / # и больше ничего. Заглядывая в консоль js, я получаю ошибки в двух скриптах: application.js и backbone.js
This (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 (не клон этого репо) не работает точно.
Любые предложения приветствуются, учитывая, что я только начал изучать некоторый JavaScript.
EDIT:
По предложению я пошел и фактически добавил в гем Jammit и сконфигурировал его так, чтобы он обслуживал все сценарии js, чего не было у Rails по умолчанию. Теперь все скрипты отправляются в браузер (включая контроллер). К сожалению, это не решает исходную проблему, а только дает больше ошибок при загрузке, вытекающих из инициализации приложения, которая находится в консоли chrome js:
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
Учитывая, что я только что копирую прямо сейчас, у меня должна быть какая-то маленькая упущенная деталь, которая мешает запуску приложения должным образом.