1

Longtime Rails Dev, 백본 멍청한 놈.백본 belongs_to has_many

내 레일 모델에서 프로젝트는 많은 작업을하고 작업은 프로젝트에 속합니다. 표준 작업.

컬렉션에서 프로젝트 작업 json을 얻으려고합니다.

ExampleApp.Collections.Tasks = Backbone.Collection.extend({ 
    url: '/projects/<dynamic_id>/tasks', 
    model: ExampleApp.Models.Task 
}); 

모든 예제는 url을/tasks로 참조합니다. 이드는 프로젝트 ID를 컬렉션에 전달하여 해당 프로젝트 작업을 얻고 싶어합니다.

Ive는 Backbone Relational을 확인했지만 가장 좋은 해결책은 무엇인지 잘 모릅니다.

건배

답변

2

를 가져 전에 PROJECT_ID를 설정하는 것입니다 스스로. 프로젝트와 관련된 모든 작업을 얻을 수있는, 또는에 대한 프로젝트가 작업을 직렬화

  • 쉬운 속하고 자동 있도록

    • 앞으로 작성 및 이전 버전과의 관계 : 개인적인 경험에서 백본 관계형를 사용하는 이유 deserizalization. 즉, JSON을 제공하고 모든 모델과 그 관계를 구축합니다. 매우 편리합니다.
    • 귀하의 모델은 독립적으로 정의되어 있으며 추가 작업없이 표준 백본 제품을 사용하여 저장/불러 오기 할 수 있습니다.
    • 또한 MarionetteioBind/ioSync과 같은 다양한 백본 확장명으로 훌륭하게 재생할 수 있습니다.
  • 1

    한 가지 방법은 관계를 해킹 반대로 내가보기 엔 백본 관계형를 사용하는 것이 좋습니다 함수로 URL을 정의하고) (

    ExampleApp.Collections.Tasks = Backbone.Collection.extend({ 
        model: ExampleApp.Models.Task 
    
        url: function() { 
         return 'projects/'+this.project_id+'/tasks'; 
        }, 
    
        setProjectId(project_id) { 
         this.project_id = project_id; 
         this.fetch(); 
        } 
    });