2014-09-12 2 views
0

새로운 레코드를 만들고 싶습니다. 기존 레코드에 속해야합니다.Ember에 링크가있는 새 레코드가 있습니까?

제 아이디어는 link-to 도우미를 사용하여 기존 레코드를 전달하고 해당 경로에서 새 레코드를 작성하는 것이 었습니다. 내가 만들-양식 서식 파일에 새 레코드의 속성을 결합 할 때

{{#link-to "create" this}}create record{{/link-to}} 

... 

App.CreateRoute = Ember.Route.extend({ 
    model: function (existing) { 
     return this.store.createRecord('mymodel', { 
      some : '', 
      data : '', 
      existing: existing 
     }); 
    }, 

    deactivate: function() { 
     this.currentModel.rollback(); 
    } 
}); 

문제는, 나는 기존 레코드의 데이터를 새로 하나를 작성하지 얻을.

답변

2

경로의 model 후크에 대한 설명서를 살펴보십시오. 발생한 문제는 link-to을 사용하여 경로로 전환 할 때 후크 으로 호출되지 않습니다. 이미 모델을 link-to의 두 번째 매개 변수로 지정 했으므로 실행하지 않아도됩니다.

보조 노트로, 라우트에서 데이터를 조작하면 안됩니다. 컨트롤러 용입니다. 경로는 컨트롤러와 템플릿을 설정하기위한 것입니다.

나는이 패턴 처리하는 방법의

예 :

App.CreateRoute = Ember.Route.extend({ 
    model: function() { 
     return getExisting(); 
    } 
}); 

App.CreateController = Ember.ObjectController.extend({ 
    some: '', 
    data: '', 
    actions: { 
     createRecord: function() { 
      this.store.createRecord('type', { 
       some: this.get('some'), 
       data: this.get('data') 
      }).save(); 
     } 
    } 
}); 
+0

아 ... 난 ... 그래서 솔루션은 다음 그들이 경로에 레코드를 생성라는 튜토리얼 톱을? 나는 정상적인 링크를 사용하려고 시도하지만, 핸들 바를 사용하여 어디서나이 메타 모프 스크립트 태그를 만들 수 있기 때문에 기존 레코드의 ID를 단순히 사용할 수는 없다. –

+1

이렇게하면 _could_ 그런 식으로 생각하지만 사용하는 것을 선호한다. 기존 모델을 루트 모델로 설정 한 다음 컨트롤러에 새 레코드를 만듭니다. 사용자가 필요한 모든 정보를 제공 할 때까지 기다렸다가 _then_ 새 레코드를 만듭니다. 내 게시물을 예제로 업데이트하겠습니다. – GJK

+0

아아 먼저 시도했으나 기존 레코드에 바인드되었으므로 양식 데이터를 가져올 수 없습니다. –

관련 문제