Итак, я искал решение в течение нескольких часов, но сам не могу понять. У меня есть железо: router onBeforeAction-hooks setup для проверки разных разрешений, например, если пользователь вошел в систему. Однако, как только проверка разрешения завершается с ошибкой, и this.render (..) вызывается, я застрял на этом шаблоне до тех пор, пока Я перезагружаю страницу - недостаточно ссылки на другой маршрут.Метеоритное железо: маршрутизатор this.render() блокируется inBeforeAction-hook
var onBeforeActions = {
loginRequired: function() {
if(Meteor.loggingIn() || !this.ready()) {
return this.render('loading');
} else if(!Meteor.user()) {
return this.render('accessDenied');
}
return this.next();
},
...
Router.onBeforeAction(onBeforeActions.loginRequired, {
only: ['postSubmit', 'postSubmitHandhistory', 'postEdit', 'postPage', 'groupJoin', 'groupPage', 'groupEdit'],
});
Так, например, я нахожусь на странице с ограниченным доступом, снова нажмите «Выход из системы» и «Войти». Затем я застрял с шаблоном загрузки навсегда, пока не нажму F5. Я вижу, что маршруты меняются, потому что я вижу, что изменяется контекст данных, но макет yield не перезагружается. Я также проверил, что onBeforeAction является повторно, и на самом деле это, она даже достигает
this.next();
Но это не перерисовка .. Любые идеи, почему?