Люди, я продвигаюсь вперед, но я уверен, что есть лучший, более элегантный способ выполнить эту функцию. Как и прежде, я хочу, чтобы пользователи «всегда» были перенаправлены на страницу приветствия после входа в приложение, даже если они были ранее выписаны на другой странице. Что меня заводит, так это требование this.next() для железобетонов onBeforeAction.Железо: страница назначения маршрутизатора ПОСЛЕ входа
Кратко сценарий:
1) Пользователь переходит к приложению и запрошено «Добро пожаловать, но, пожалуйста, войдите в/вверх» страницу.
2) подписывает пользователем, и маршрутизатор направляет пользователя к «Добро пожаловать в приложение» страницу
3) Пользователь переходит через приложение к «pageOne», а затем решает выйти и снова представленная страница «Добро пожаловать, но пожалуйста, войдите в систему/вверх». (Тем не менее, URL-адрес по-прежнему читается http://xxx.xxx.xxx.xxx/pageOne)
4) Пользователь снова вводит знак, где теперь приложение должно вместо отображения страницы «pageOne», которая является поведением this.next(), должна быть представлена «Добро пожаловать на страницу приложения».
я был в состоянии добраться до этой функции на код ниже:
Router.configure({
layoutTemplate: 'layout',
});
Router.route('/', {name: 'welcome'});
Router.route('/pageOne', {name: 'pageOne'});
Router.route('/pageTwo', {name: 'pageTwo'});
var requireLogin = function() {
if (! Meteor.user()) {
if (Meteor.loggingIn()) {
Router.go('welcome');
} else {
this.render('welcomeButLogin');
}
} else {
this.next();
}
}
Router.onBeforeAction(requireLogin, {except: ['blah']});
Это работает, но я получаю предупреждение о:
Route dispatch never rendered. Did you forget to call this.next() in an onBeforeAction?
Спасибо, что нашли время, любая обратная связь будет высоко оценена.
Gene.
вам нужен this.next() после того, как this.render («welcomeButLogin») я верю. –
Спасибо Ramsay Однако я сделал это изменение теперь с помощью this.next() после «welcomeButLogin», даже когда пользователь подписывается, у них все еще есть доступ к странице «pageOne». Спасибо за ваш комментарий. – Gene