Нужно, чтобы при вводе в строку поиска - был переход на новый маршрут
/search/строка, соответственно путь маршрута, например /search/:q
Как лучше всего это сделать?
Если в шаблоне {{input value=str}} и в контроллере this.transitionToRoute, то нужно в контроллере подгружать модель (т.е. дублировать с подгрузкой в маршруте).
Есть вариант this.transitionToRoute('/search/' + str), но он мне не нравится.
В маршруте у меня подгружается модель, что-то типа model: function(){ return this.store.find.... В вопросе transitionToRoute у меня вызывается с URL. Это плохой вариант "It is also possible to pass a URL (a string that starts with a /). This is intended for testing and debugging purposes and should rarely be used in production code." emberjs.com/api/classes/Ember.Controller.html#meth...
Мы начинаем зависеть от URL, а не от маршрута.
А если я делаю transitionToRoute('search', {q:q}), то роутер считает что я передаю модель и не подгружает новую. И получается, что модель я обязана подгрузить в контроллере - чтобы сформировать вызов маршрута. Но для загрузки этого URL (через адресную строку) в маршруте тоже должна быть модель.