2013-10-05 1 views
1

ember-rails 프로젝트에 다음 경로 정의가 있습니다. 파일은 /app/assets/javascripts/routes/applicationRoute.js.coffee하고 다음과 같이 코드는 다음과 같습니다ember-data store에 항목을 추가하면 응용 프로그램 템플릿이 렌더링되지 않습니다

ChAdmin.ApplicationRoute = Ember.Route.extend (
    model:()-> 
    store = @.get("store") 
    store.push("tapahtuma", 
     id: 1, 
     nimi: "test1", 
     paiva: "11.1.2012" 
    ) 

) 

이 렌더링에서 응용 프로그램 템플릿을 방지 할 수 있습니다. 아무도 왜 그런지 말할 수 있습니까? 불씨 검열 관에서 아이템을 저장하도록 강요당했습니다. 상점에서 푸시 항목을 제외하고 다른 작업을 수행하면 앱 템플릿이 잘 렌더링됩니다. 어떤 도움이 많이 주시면 감사하겠습니다

DEBUG: ------------------------------- ember.js?body=1:394 
DEBUG: Ember.VERSION : 1.0.0 ember.js?body=1:394 
DEBUG: Handlebars.VERSION : 1.0.0 ember.js?body=1:394 
DEBUG: jQuery.VERSION : 1.10.2 ember.js?body=1:394 
DEBUG: ------------------------------- ember.js?body=1:394 
Ember Debugger Active 

:

에는 자바 스크립트 콘솔에서 오류와 내가 할 응용 프로그램을 시작 없습니다.

답변

0

문제 엠버 데이터가 이전 버전이었다. "rails generate ember : install --head"를 실행했는데 응용 프로그램 템플릿이 올바르게 렌더링됩니다.

1

당신은 emberjs guide on routingmodel() 후크에 model()

App.IndexRoute = Ember.Route.extend({ 
    model: function(){ 
    var store = this.get('store'); 
    store.push("tapahtuma", 
     { 
     id: 1, 
     nimi: "test1", 
     paiva: "11.1.2012" 
     } 
    ); 
    // model is expected to return the object or 
    // a promise that resolve into the object 
    return store.find('tapahtuma',1); 
    } 
}); 

자세한 내용에서 모델을 반환해야합니다.

JSBin example

+0

리턴 만 추가하면 모델 데이터가 렌더링됩니다. JSBin 예제에서 볼 수 있듯이 return 문을 제거하면 응용 프로그램 템플릿이 계속 렌더링됩니다. 당신은 나를 옳은 길에 두었다. 귀하의 예에서 새로운 버전의 ember-data를 사용했기 때문에 ember 및 ember-data 버전을 업데이트 했으므로 app 템플릿이 올바르게 렌더링됩니다. –