2015-04-15 1 views
4

Для маршрута:Метеор Маршрут не отправка товара никогда не вынесено предупреждение

Router.route('/logout', function(){ 
    var self = this; 
    Meteor.logout(function(err) { 
     if (err) { 
      console.log('Error loggin out!'); 
     } 
     self.redirect('/'); 
    }); 
}); 

Я получаю это предупреждение:

Route dispatch never rendered. Did you forget to call this.next() in an onBeforeAction? 

Что проблема?

+0

'Router.route ('/ выход из системы', функция() { вар само = это; Meteor.logout (функция (ERR) { если (ERR) { console.log ('Ошибка Логгина вне!');} self.next(); self.redirect ('/'); }); }); 'try with self.next(); – Ethaan

+0

@Ethaan Исключение при доставке результата вызова 'logout': TypeError: object не является функцией – torayeff

+0

попытайтесь обернуть эту функцию 'Meteor.logout' внутри' data: function() {} 'или' action', похоже, что вы можете просто объявите эту функцию на маршрутизаторе. – Ethaan

ответ

3

Это может занять время, чтобы вывести пользователя из системы. Во время этого вам понадобится шаблон. Маршрут не может существовать без шаблона с железным маршрутизатором. Или, по крайней мере, железный маршрутизатор не предназначен для работы без него.

Ваш HTML:

<template name="logout"> 
    Logging you out. Please wait... 
</template> 

Ваш маршрут:

Router.route('/logout', function(){ 
    Meteor.logout(function(err) { 
     if (err) console.log('Error loggin out!'); 
     Router.go("/") 
    }); 

    this.render("logout"): 
}); 
+0

Чрезвычайно полезный ответ. Сортировка предупреждающего сообщения звучит так, будто он всегда имеет какое-то отношение к 'this.next()', хотя фактическое предупреждение состоит в том, что ничего не отображалось. – T3db0t