試圖按照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