6
나는 엠버 (ember)를 처음 사용하며 매우 간단한 앱을 만들고 있습니다. 링크 된 태그에 의해 생성 된 링크를 클릭하여 내 브리더 인덱스 페이지 (/ 브리더)에서 브리더 쇼 페이지 (/ 브리더 스/: breeder_id)로 이동할 수 있습니다. 내가 수동으로 종축/1 나는 다음과 같은 오류가 다른 breeders.show 노선의로 이동하지만 경우 :Ember "Params is not defined"라우팅에서
Error while loading route: ReferenceError: params is not defined
at Catapp.BreedersShowRoute.Ember.Route.extend.model
나는 그이 원인이 무슨 짓을했는지 알아낼 수 없습니다.
//router.js
Catapp.Router.map(function() {
this.resource('breeders', function() {
this.route('new');
this.route('show', {path: '/:breeder_id'});
});
});
Catapp.IndexRoute = Ember.Route.extend({
redirect: function(){
this.transitionTo('breeders.index');
}
});
Catapp.BreedersIndexRoute = Ember.Route.extend({
model: function(){
return this.store.find('breeder');
}
});
Catapp.BreedersShowRoute = Ember.Route.extend({
model: function(){
return this.store.find('breeder', params.breeder_id);
}
});
:
이 내가 생각이다는 관련 코드입니다.
// breeders_controller.js
Catapp.BreedersController = Ember.ArrayController.extend({
sortProperties: ['id']
});
처럼 당신이 무엇을 호출 할 수 있습니다 그 (것)들을 위해 작동하지 않는다, 당신이 저 모형을위한'색인'노선에 없기 때문에 확률이 높다 :'params'가 작동하는 유일한 장소. 대신 [이 해결책] (http://stackoverflow.com/a/20503866/1450226)을 사용했습니다. –
답변에 추가 정보를 추가하고 싶지만, 귀하가 말하는 내용을 이해할 수 있는지 확실하지 않습니다. 매개 변수는': foo'가 라우터에있는 곳을 기반으로 채워집니다. – Kingpin2k
URL'/ : foo'에 있다면 params에 데이터가 들어 있습니다. 그러나'/ : foo/edit' params와 같이 중첩 된 위치에 아무 것도 포함되지 않습니다. 중첩 된 경로에서': foo' ID에 액세스해야했습니다. –