Iron Router and this.next()



我有以下路线正在工作:

Router.route('/', function () {
  Meteor.call("get_country", function(error, result){
   if(!error){
    if(result === null)
     Session.setDefault("country", "int");
    else{
    if(Countries[result] === null)
      Session.setDefault("country", "int");
    else
      Session.setDefault("country", result);
    }
  Session.setDefault('category', Countries[Session.get("country")]);
  Session.setDefault('sources', Categories[Session.get("country")][Session.get("category")]);
  }
 });
});

但是在控制台中,我得到

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

我不使用 onBeforeAction。我应该注意警告吗?我该如何解决?

很确定您需要指定一个模板来加载/渲染:

Router.route('/', function () {
  Meteor.call("get_country", function(error, result){
   if(!error){
    if(result === null)
     Session.setDefault("country", "int");
    else{
    if(Countries[result] === null)
      Session.setDefault("country", "int");
    else
      Session.setDefault("country", result);
    }
  Session.setDefault('category', Countries[Session.get("country")]);
  Session.setDefault('sources', Categories[Session.get("country")][Session.get("category")]);
  }
  //Specify template to render
  this.render('templateNameForHomeRoute');
 });
});

最新更新