В приложении я использую последние версии Canary для Ember и Ember Data. У меня есть следующий маршрутизатор:Query-params-новые вложенные маршруты странная ошибка
this.resource('articles', {path: '/articles'}, function() {
this.resource('article', {path: '/:article_id'});
});
В ArticlesController уточняют некоторые queryParams:
queryParams: ['category', 'search'],
category: '1', // defaults to 1
searchTerm: "",
В моем ArticlesRoute указует модель обновление и модель:
queryParams: {
category: {
refreshModel: true
}
},
model: function(params) {
// here I do use the params to return articles based on category and/or searchTerm
}
Пока все хорошо, весь код выше работает отлично. Однако, когда я делаю this.transitionTo('article', articleObject)
или this.transitionToRoute('article', articleObject)
в моем приложении я получаю следующее сообщение об ошибке:
Error: You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route article
at Object.__exports__.default.subclass.createParamHandlerInfo (http://localhost:8000/vendor/ember/index.js:44242:21)
at Object.__exports__.default.subclass.applyToHandlers (http://localhost:8000/vendor/ember/index.js:44121:37)
at Object.__exports__.default.subclass.applyToState (http://localhost:8000/vendor/ember/index.js:44088:21)
at Object.Router.transitionByIntent (http://localhost:8000/vendor/ember/index.js:43312:33)
at Object.Router.refresh (http://localhost:8000/vendor/ember/index.js:43459:21)
at EmberObject.extend.refresh (http://localhost:8000/vendor/ember/index.js:22616:35)
at EmberObject.extend._actions.queryParamsDidChange (http://localhost:8000/vendor/ember/index.js:22328:22)
at Object.triggerEvent (http://localhost:8000/vendor/ember/index.js:24563:38)
at trigger (http://localhost:8000/vendor/ember/index.js:44812:16)
at fireQueryParamDidChange (http://localhost:8000/vendor/ember/index.js:43612:9) index.js:14220
Uncaught Error: Assertion Failed: Error: You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route article index.js:3658
Эта странная ошибка происходит только тогда, когда я первый нажал Категорию так queryParam category
изменяется, а затем огонь transitionTo к статья.
Я попытался использовать инструкцию debugger;
, чтобы получить источник ошибки. Однако, похоже, это событие вызывает эту ошибку. При поиске исходного кода я обнаружил, что ошибка исходит из строки 44242 ember.js.
Кто-нибудь знает, почему эта ошибка произошла после того, как я перешел на новый запрос-params non-?
Edit: сейчас в Github тоже: https://github.com/emberjs/ember.js/issues/5070 (комментарий на Github) JSBin: http://emberjs.jsbin.com/yiquyupa
Привет, спасибо за ваш комментарий о той же проблеме! Он до сих пор не разрешен. Возможно, вы можете настроить jsbin с вашей проблемой и добавить его к обсуждению здесь: https://github.com/emberjs/ember.js/issues/5070 – DelphiLynx
проблема в том, что некоторые маршруты имеют более одной связанной модели и сложно программно перейти к одному из переадресации входа. У меня был довольно хороший успех, используя transitionTo ('/ url') вместо – runspired