У меня есть модель «Фильтр», и пользователь может изменить эту модель, нажав на страницу.
Поэтому, когда пользователь вносит изменения в модель, я хочу перейти к тому же маршруту, на котором он сейчас находится, потому что URL-адрес отличается в зависимости от деталей модели (я переопределил «сериализацию» на маршруте, чтобы гарантировать, что это так оно и есть).
В настоящее время Эмбер, похоже, игнорирует мою просьбу перейти на тот же маршрут с той же моделью. Модель изменена, и мой шаблон изменен, но я хочу, чтобы URL-адрес также отражал изменение в фильтре.
Как я могу это сделать?
Редактировать:
Вот код в моем ApplicationController
App.ApplicationController = Ember.Controller.extend
currentFilter: null
actions:
toggleRegion: (region_id) ->
region = this.store.getById('region', region_id)
filter = this.get('currentFilter')
# modify the filter
if filter.containsAtLeastOneCityOfRegion(region)
filter.disableRegion(region)
else
filter.enableRegion(region)
this.replaceRoute('listings', filter)
Теперь это работает, как и предполагалось, когда я нахожусь в маршруте «индекс», но если я уже нахожусь в маршруте «списки», модель изменяется, как предполагалось, но замена маршрута не происходит, и, следовательно, мой URL-адрес не обновляется с правильными динамическими сегментами (из моего метода «сериализации» ListingsRoute).