Я только начал вникать в javascript, чтобы сделать проект более отзывчивым, и я работаю над примером backbone.js.
Я реплицировал http://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example/ в новый проект Rails 3.
Я запускаю проект и перехожу на домашнюю страницу.... и там есть ссылка на /# и ничего больше. Заглядывая в консоль js, я получаю ошибки в двух сценариях: application.js и backbone.js
Это (backbone.js)
backbone-min-0-3-3.js:8Uncaught TypeError: Cannot call method 'extend' of undefined
и this (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 все не было. Теперь все сценарии идут в браузер (включая контроллер). К сожалению, это не решает исходную проблему, но только дает больше ошибок при загрузке, протекающих из App init, которая находится в консоли 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
Учитывая, что я просто копирую прямо сейчас, должна быть какая-то небольшая пропущенная деталь, выходящая за пределы меня, которая препятствует правильному запуску приложения.