2013-06-17 7 views
0

대부분의 Emberists가 알 수 있듯이 EmberJS가 가지고있는 수직 벽을 극복하기 위해 순간적으로 머리카락을 찢어 버리는 중입니다. 최고점에 서 낙원에 도달 할 수 있습니다. 이 같은EmberJS 동적 세그먼트 오류

App.Router.map(function(){ 
this.resource('dogs); 
this.resource('dog', '/:dog_id'); 
}); 

을 따라, DogRoute의 모델 후크가 정의 :

<script type="text/x-handlebars" data-template-name="dogs"> 
    <h2> Pick a stack to view its cards </h2> 
    <ul class="nav"> 
     {{#each model}} 
     <li>{{#linkTo 'dog' this}} {{name}} {{/linkTo}}</li> 
     {{/each}} 
    </script> 

내 경로

는 다음과 같이 정의된다 :

다음

내가 지금 무엇을 가지고
App.DogRoute = EmberRoute.Extend({ 
    model: function(params){ 
    return App.Dog.find(params.id); 
    } 

}); 

마침내 모델 자체는 꽤 기초적입니다.

App.Dog = DS.Model.extend({ 
    name = DS.attr('string') 
}); 

DS는 필자의 경우 비품이므로,이 글을 쓰는 것은 어렵지 않습니다. 그러나 이것은 작동하지 않으며 이유를 알지 못합니다.

타다 남은 -... rc.5.js (라인 356) 캐치되지 않는 예외 : 더 컨텍스트 오브젝트 여기에 내가 개 노선을 방문하여 렌더링되는 개 링크의 무리를 기대 할 때 내가 점점 계속 오류입니다 경로에 대한 동적 세그먼트보다 통과되었습니다 : 개

여기서 잘못 수행되고있는 점을 누구나 지적 할 수 있습니까?

참고 : 동적 세그먼트를 제거하고 내 강아지 핸들 바 안에 개 경로를 렌더링하면 (핸들 바에서 이륙 됨) 링크 (개 이름)가 렌더링됩니다. 그러나 이러한 경로는 동적 세그먼트가되어야하며 ember/handlebars가 자동 생성 한 고유 ID가있는 하이퍼 링크가 아닙니다.

답변

3

라우터 선언이 잘못되었습니다. 그것은해야 나를보기 다음과 같습니다 :

App.Router.map(function() { 
    this.resource('dogs'); 
    this.resource('dog', {path: '/:dog_id'}); 
}); 
1

오류 당신은 얻을

타다 남은 -... rc.5.js (라인 356) 캐치되지 않는 예외 : 더 컨텍스트 객체가 동적이보다 전달 된 경로의 세그먼트 : 개

은 경로 매핑과 관련있을 수 있습니다. 당신이 명시 적으로 정의 할 필요가 없습니다

App.DogRoute = EmberRoute.Extend({ 
    model: function(params){ 
    return App.Dog.find(params.id); 
    } 
}); 

: (동적 모델에서 볼 수 here)

App.Router.map(function() { 
    this.resource('dogs', function() { 
    this.resource('dog', {path: '/:dog_id'}); 
    }); 
}); 

그리고이 엠버의 기본 동작이기 때문에 또한, : 당신은 오히려이 같은 경로를 정의해야합니다 그래서 당신은 그것을 제거 할 수 있습니다. 나머지 솔기는 내가 볼 수있는 한 정확해야합니다. 나는 또한 togheter working jsbin을 보았습니다.

희망이 있습니다.