2013-05-23 8 views
0

사람들은 원래 사용자의 NewView를 루트 페이지로 렌더링하기 시작했습니다.backbone.js + rails + firebug TypeError : this.model은 정의되지 않았습니다.

index.html을 : 여기

TypeError: this.model is undefined 

$(this.el).html(this.template(this.model.toJSON())); 

는 관련 코드입니다 : 내가 그것을 작성하고 내가이 오류 "사용자 만들기"를 클릭하면 I 양식을 볼 수 있지만 수있는 지점에 입수했습니다 .erb

오늘 제가 게시 한 질문 중 하나입니다.이 질문에 나를 데려왔습니다. 의견을 읽는 것이 도움이됩니다.

ReferenceError: users is not defined rails + backbone + firebug

내가 가지고 그것이 내가 두 개의 창을 만든 사실을 함께 할 수있는 뭔가가 느낌? "window.newView"및 "window.router".

Backbone.history.start()가 작동하려면 라우터가 있어야합니다 ... 올바른가요? 이것이 라우터 라인을 처음부터 추가 한 이유입니다 ... 왜냐하면 Backbone.history.start()에서 오류가 발생했기 때문입니다.

답변

0

이 방법이 효과가 있다고 생각합니다. 시작 방법에 "pushState : true"를 전달하면 오류가 발생하지 않으며 ... 사용자를 등록하고 표시하고 삭제할 수 있습니다. 인덱스 페이지에서 사용자를 만들면 표시 페이지로 리디렉션되지 않습니다.

<div id="container">Loading...</div> 

<script type="text/javascript"> 
    $(function() { 
    window.newView = new Example.Views.Users.NewView({model: <%= @users.to_json.html_safe -%>,collection: new Example.Collections.UsersCollection()}); 
    window.router = new Example.Routers.UsersRouter({users: <%= @users.to_json.html_safe -%>}); 
    $('body').html(newView.render().$el); 
    Backbone.history.start({pushState: true}); 
    }); 
</script> 

수정 사항이있는 경우 수정하십시오.

관련 문제