2014-09-15 2 views
2

EmberJS의 초보자입니다. 자세한 설명을 할 수 있다면 좋을 것입니다. 나는 다음과 같은 URL-EmberJS 콘솔 오류 - 경로로드 중 오류 : 정의되지 않음

/api/products?date=2014-09-16&meal_type=2 
여기

, 날짜와 식사 _ 유형 쿼리 매개 변수는에 GET 요청을 기대하고 제품을 가져 오는에 대한 API 끝점을 가지고있다. 내 router.js는 다음과 같습니다.

App.Router.map(function() { 
     this.resource('products', { path: '/products/date/:date/meal/:mealType'}); 
    }); 

    App.Router.reopen({ 
     location: 'history' 
    }); 

이 동적 경로의 이유는 내 응용 프로그램의 URL이 동일한 형식으로 나타나는 것입니다.

노선/product.js는 같은 - 보이는

App.ProductsRoute = Ember.Route.extend({ 
     model: function(params) { 
     return this.store.findQuery('product', {date: params.date, meal_type: params.mealType}); 
    }, 

     queryParams: { 
     date: { 
      refreshModel: true 
     }, 
     mealType: { 
      refreshModel: true 
     } 
     }, 

}); ? 3522 :

컨트롤러/I 몸 = 1 브라우저에 오류가이 라인은 ember.js에있는 것으로 나타납니다

Error while loading route: undefined 

콘솔 - 무엇입니까

App.ProductsController = Ember.ArrayController.extend({ 
     queryParams: ['date', 'meal_type'], 
     date: null, 
     meal_type: null, 

     products: function() { 
     return this.get('model.content'); 
     }.property() 

products_controller.js.

도움을 주시면 감사하겠습니다. 감사합니다

+0

시도해보십시오. this.resource ('products')에 /// this.resource ('products', {path : '/ products/date/: date/meal/: mealType'}) ; 내가 의심하기에, 경로는 url을 지정하는 것 뿐이며, 따라서 그러한 오류가있는 URL로 라우팅하고 있기 때문입니다. 내가 포함 된 코드로 매개 변수를 기록하려고하면 매개 변수가 표시되면 경로에서 수행중인 작업을 수행 할 수 있습니다. 희망이 도움이됩니다. – LanNguyen

+0

동적 라우팅을 위해 경로를 포함한 URL이 설정되었습니다. 나는 해결책을 시도했지만 오류가 발생했습니다. '잡히지 않은 오류 : 어설 션 실패 : 오류 : 어설 션 실패 : '/ products/date/2014-09-16/meal/1'URL이 응용 프로그램의 어떤 경로와도 일치하지 않습니다' –

+0

물론, 그것은 오류를 반환합니다. 해당 URL이있는 경로를 원한다면 this.resource ('제품', 기능() { \t this.resource ('날짜', '경로': '/ : products_date', 기능() { \t \t이이 같은 것을해야한다. 리소스 ('식사', '경로': '/ : 제품 _meal') \t}) }); – LanNguyen

답변

1

오류에 대한 많은 연구를 한 후에 데이터베이스의 불일치를 파악했습니다. 일관된 데이터베이스 덤프를 복원하여 오류를 해결했습니다.

결론 : EmberJS는 데이터가 일관성이 있다고 기대합니다. 그렇지 않으면 디버그하기 어려운 오류가 발생할 수 있습니다.