在onBeforeAction上添加奇怪的this.next()

时间:2015-02-14 23:30:20

标签: meteor iron-router

我正在发出一个奇怪的警告

“路线调度从未渲染。您是否忘记在onBeforeAction中调用this.next()?”

我以前见过这个,知道如何解决这个问题。

除了我的路线没有任何问题,一切正常。警告就在那里,一切似乎都在起作用。

我的路线是这样的:

onBeforeAction: function() {
    if ( mobile) {
        this.render('mobile')
    } else {
        if( !Meteor.userId()){
            this.render('not_logged_in')
        }
        this.next()
    }

},
action: function(){
    // Do action here
}

再次,使用此路线,该应用程序正常工作。

但警告出现了。这是为什么?

1 个答案:

答案 0 :(得分:0)

您需要为两个条件结果调用this.next(),或者在结束时调用一次以保证进展:

onBeforeAction: function() {
    if ( mobile) {
        this.render('mobile');
    } else {
        if( !Meteor.userId()){
            this.render('not_logged_in');
        }
    }
    this.next();
},
action: function(){
    // Do action here
}