试图按照Ryan Bates Backbone.js教程来构建一个抽奖应用程序,但我已经遇到了第一个代码问题。在application.js中的初始化函数,他初始化它应该触发警报“主页” Raffler路线的新实例,但我发现在Firebug下面的错误,我不明白rails:backbone-on-rails gem-
entries.js:5Uncaught ReferenceError: Raffler is not defined
entry.js:15Uncaught ReferenceError: Backbone is not defined
entries.js:23Uncaught ReferenceError: Backbone is not defined
index.js:17Uncaught ReferenceError: Backbone is not defined
application.js:7Uncaught SyntaxError: Invalid regular expression: missing/
raffler.js:9Uncaught TypeError: undefined is not a function
任何想法如何解决这个问题?
的JavaScript/raffler/application.js中
window.Raffler =
Models: {}
Collections: {}
Views: {}
Routers: {}
init: ->
new Raffler.Routers.Entries()
Backbone.history.start()
$(document).ready ->
Raffler.init()
路由器/ entries.js
class Raffler.Routers.Entries extends Backbone.Router
routes:
'': 'index'
index: ->
alert "home page"
更新
后,我跑了发电机//= require_tree .
为后,立即要求jquery_ujs其中,我发现(我认为)是什么造成了一些问题。不过,现在我已经把它移到底部,我仍然收到此错误
Raffler.Routers.Entries is not a constructor
[Break On This Error]
new Raffler.Routers.Entries();
的application.js
//= require jquery
//= require jquery_ujs
//= require underscore
//= require backbone
//
//= require .//raffler
//
//= require_tree ../templates/
//= require_tree .//models
//= require_tree .//collections
//= require_tree .//views
//= require_tree .//routers
//= require_tree .
您是否在任何地方包含'underscore.js'和'backbone.js'(按此顺序)? – 2012-04-08 02:05:04
是的,我已经用application.js更新了OP。现在我改变了require_tree的错误。到底部,但它仍然无法正常工作。 – Leahcim 2012-04-08 02:24:25
你在哪里包含你的'application.js'? HTML的顶部或底部? – 2012-04-08 03:05:15