У меня есть приложение, в котором анонимные пользователи могут видеть только просмотр. Когда пользователь нажимает на ссылку для входа в систему, я хочу сохранить текущий маршрут и модель и восстановить ее после успешной проверки подлинности.EmberJS: Вернуться к текущему маршруту после входа в систему
Это немного отличается от большинства примеров, перехватывать переход в beforeModel и перенаправляют войти в систему.
App.ApplicationController = Ember.Controller.extend({
actions: {
logIn: function() {
this.set('previousPath', this.get('currentPath'));
this.transitionToRoute('login');
}
}
});
App.LoginController = Ember.Controller.extend({
needs: 'application',
username: '',
password: '',
actions: {
logIn: function() {
var self = this;
App.session.logIn(this.get('username'), this.get('password')).then(
function() {
var route = self.get('controllers.application.previousPath')
self.transitionToRoute(route);
});
}
}
});
Это прекрасно работает для статических маршрутов, но для динамических маршрутов образцовые и маршрутные параметры теряются.
Как взять или модель текущего контроллера или параметры маршрута, чтобы я мог их восстановить?
Этот пример позволяет анонимным пользователям доступ к маршруту. Вопрос, который я задал, заключается в том, как разрешить анонимным пользователям переходить на маршрут, а затем, если они решат войти в систему, они могут вернуться на этот маршрут после входа в систему. Это не совсем то же самое, что и в руководствах. –