铁路由器Router.onBeforeAction重定向并等待

时间:2014-12-28 13:46:46

标签: meteor

我有一个传统的IronRouter设置使用Router.onBeforeAction挂钩将用户重定向到登录页面,如果他们试图访问需要登录的页面。

但是,如果尝试访问的路由 - 需要登录用户 - 具有订阅的waitOn属性,则应用程序将挂起。

过了一会儿,我发现,我必须在if( Meteor.user() )块中包装所有订阅才能使重定向工作。

我想我明白了原因,但是在waitOn订阅中检查Meteor用户感觉有点奇怪。有没有办法取消onBeforeAction挂钩功能中的订阅?

1 个答案:

答案 0 :(得分:0)

没有。当你订阅params时,检查参数是一个好习惯。将此检查置于onBeforeAction将使您的申请难以维护。您需要一个需要登录的页面/路由列表,以便您可以重定向到home / login / etc.如果要在需要登录的页面上显示某些信息,而不是重定向,则可以显示一些数据。在每个控制器上进行此验证要容易得多。