Я новичок в EmberJS. Было бы здорово, если бы вы могли дать подробное объяснение. У меня есть апи конечную точку для извлечения продуктов, которые ожидают запрос GET по следующему url-Ошибка консоли EmberJS Ошибка при загрузке маршрута: не определено
/api/products?date=2014-09-16&meal_type=2
Здесь, дата и meal_type являются параметрами запроса. Мой router.js выглядит this-
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
}
},
});
контроллер/products_controller.js
App.ProductsController = Ember.ArrayController.extend({
queryParams: ['date', 'meal_type'],
date: null,
meal_type: null,
products: function() {
return this.get('model.content');
}.property()
Я получаю сообщение об ошибке в браузере Console-
Error while loading route: undefined
Это, как представляется, в строке ember.js тела = 1: 3522.
Любая помощь будет высоко оценена. Спасибо
попробуйте следующее: измените /// this.resource ('products', {path: '/ products/date /: date/meal /: mealType'}); /// to this.resource ('products') ;. Как я подозреваю, путь - это просто указать URL-адрес и потому, что вы маршрутизируетесь с этим URL-адресом, таким образом, имея такую ошибку. Попробуйте записать параметры с кодом, который я включил, если параметры видны, то вы можете идти вперед и делать все, что вы делаете в своем маршруте. Надеюсь, поможет. – LanNguyen
URL-адрес, включая путь, был настроен для динамической маршрутизации. Я попробовал ваше решение, но получил ошибку. 'Неиспользуемая ошибка: утверждение не выполнено: ошибка: утверждение не выполнено: URL '/ products/date/2014-09-16/meal/1' не соответствует никаким маршрутам в вашей заявке' –
of Конечно, это вернет ошибку. Если вам нужен маршрут с этим URL. Это должно быть что-то вроде этого: this.resource ('продукты', функция() { \t this.resource ('дата', 'путь': '/: products_date', функция() { \t \t это. ресурс ('еда', 'путь': '/: products_meal') \t}) }); – LanNguyen