2014-04-15 3 views
0

이상한 오류가 정의되지 않는다. 오류 라인 1931 가리키는 : 여기 1891: var set = Backbone.Collection.prototype.__set = Backbone.Collection.prototype.set; ... 1931: var result = set.call(this, toAdd, _.defaults({ parse: false }, options)); 오류 : 세트 여기</strong></p> <p></em> 정의되지 백본 relational.js 소스의 일부이다 : 세트 <strong><em>형식 오류가 레일 백본 관계를 이용하여 인덱스 페이지로드 백본 관계형

내 코드입니다 :

라우터 :

class Todo.Routers.ProjectsRouter extends Backbone.Router 
    initialize: (options) -> 
    @projects = new Todo.Collections.ProjectsCollection() 
    @projects.reset options.projects 

    routes: 
    "new"  : "newProject" 
    "index" : "index" 
    ":id/edit" : "edit" 
    ":id"  : "show" 
    ""  : "index" 

    newProject: -> 
    @view = new Todo.Views.Projects.NewView(collection: @projects) 
    $("#projects").html(@view.render().el) 

    index: -> 
    @view = new Todo.Views.Projects.IndexView(projects: @projects) 
    $("#projects").html(@view.render().el) 

    show: (id) -> 
    project = @projects.get(id) 

    @view = new Todo.Views.Projects.ShowView(model: project) 
    $("#projects").html(@view.render().el) 

    edit: (id) -> 
    project = @projects.get(id) 

    @view = new Todo.Views.Projects.EditView(model: project) 
    $("#projects").html(@view.render().el) 

모델 :

class Todo.Models.Task extends Backbone.RelationalModel 
    paramRoot: 'task' 

    defaults: 
    title: null 

class Todo.Collections.TasksCollection extends Backbone.Collection 
    model: Todo.Models.Task 
    url: '/tasks' 

class Todo.Models.Project extends Backbone.RelationalModel 
    paramRoot: 'project' 

    defaults: 
    title: null 

    relations: [ 
    type: Backbone.HasMany 
    key: 'tasks' 
    relatedModel: 'Todo.Models.Task' 
    collectionType: 'Todo.Collections.TasksCollection' 
    includeInJSON: false 
    reverseRelation: 
     key: 'project_id' 
     includeInJSON: 'id' 
    ] 

class Todo.Collections.ProjectsCollection extends Backbone.Collection 
    model: Todo.Models.Project 
    url: '/projects' 

어떤 제안이? index.html을에 나는 라우터에 @projects.reset options.projects에 나타납니다처럼

window.router = new Todo.Routers.ProjectsRouter({projects: #{@projects.to_json({:include => :tasks}).html_safe}}); 

보이는이

단지에 백본을 업데이트 해결하려면 rubygems.org 에서 레일 - 백본 보석에있는 오래 된 백본 버전 것으로 보인다
+1

당신이 백본의 버전은 무엇을해야합니까 당신의 gemfile에 gem 'rails-backbone' gem 'rails-backbone', git: "https://github.com/codebrew/backbone-rails.git" 로 변경? –

+0

고마워! rubygems.org의 오래된 백본 레일 버전이었습니다. 그냥 github에서 그것을 다시 설치하고 지금 작동합니다. 다시 한 번 감사드립니다! – GriwMF

+0

"오래된 백본 레일 버전의 rubygems.org"문제는 다른 사람들에게 타격을 줄 수 있으므로 직접 질문에 답하고 나중에 다시 돌아와 자신의 답을 수락하는 것이 좋습니다. –

답변

0

마지막 버전. 당신은 레일 - 백본 보석을 사용하는 경우,