2012-04-08 5 views
3

추첨을 통해 Ryff Bates Backbone.js 튜토리얼을 따라 가려고했으나 이미 첫 번째 코드 문제가 발생했습니다. application.js의 init 함수에서 그는 "홈 페이지"라는 경고를 발생시키는 Raffler 라우트의 새 인스턴스를 초기화했지만 알 수없는 방화 광에서 다음과 같은 오류가 발생합니다.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 

이 문제를 해결할 수있는 아이디어가 있습니까?

자바 스크립트/raffler는//

window.Raffler = 
    Models: {} 
    Collections: {} 
    Views: {} 
    Routers: {} 
    init: -> 
    new Raffler.Routers.Entries() 
    Backbone.history.start() 

$(document).ready -> 
    Raffler.init() 

라우터를 application.js 내가 //= require_tree .이 필요한 직후였다 발전기를 실행 한 후

class Raffler.Routers.Entries extends Backbone.Router 
    routes: 
    '': 'index' 

    index: -> 
    alert "home page" 

업데이트

을 entries.js 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 . 
+0

어디서나 '언더 코어 .js'와 '백본 .js'(그 순서대로)를 포함하고 있습니까? –

+0

예, OP를 application.js로 업데이트했습니다. require_tree를 옮겼으므로 오류가 변경되었습니다. 바닥에 있지만 여전히 작동하지 않습니다. – Leahcim

+0

'application.js'는 어디에 넣으시겠습니까? HTML의 상단 또는 하단? –

답변

0

저도 같은 문제를 가지고 다음 일을 가지고 다른 사람이 발견이 오류를 얻고있다. 그의 코드 (내 것과 정확히 동일 함)를 내 파일에 복사 했으므로 지금은 내 작업입니다. 왜 그런지 모르겠다

window.Raffler = 
    Models: {} 
    Collections: {} 
    Views: {} 
    Routers: {} 
    init: -> 
    new Raffler.Routers.Entries() 
    Backbone.history.start() 

$(document).ready -> 
    Raffler.init() 
7

나는 아주 똑같은 문제가있다. 이 라인은 밑줄과 backbonejs의 라인 전에 이었기 때문에 저를 위해이 솔루션은, 라인에게 application.js 파일에서

//= require_tree .

을 제거하는 것이었다.