【问题标题】:Houston:admin Iron router onBeforeAction exceptHouston:admin Iron router onBeforeAction 除外
【发布时间】:2016-01-31 21:29:51
【问题描述】:

新手尝试在 Meteor 项目中使用 houston:admin 和 Iron-router

在 Iron-router 的钩子 onBeforeAction 中,带有 except: [ ... ],就像

Router.onBeforeAction({ if (!Meteor.user()) { Router.go('\login'); } }, {except: ['login']});

我应该在 except:[] 中放入什么以使 houston:admin 成为例外? 或者如果有更好的方法。

非常感谢您的帮助!

【问题讨论】:

  • 您不想在onBeforeAction 中创建Route.go()。你要if ( Meteor.userId() ){ this.next(); } else { this.render('login') };
  • 是的,非常感谢,但上面的代码只是一个示例。而且我认为 .go 或 .render 与我的问题无关。
  • 它不会,但它可能会帮助您解决下一个问题! ;)

标签: meteor iron-router


【解决方案1】:

这不是未来的证明,即如果将任何其他页面添加到休斯顿项目,这将失败,但现在您可以使用:

{except: ['houston_home', 'houston_collection', 'houston_document', 'houston_change_password', 'houston_custom_template', 'houston_login']}

要密切注意您需要添加的路线并将任何新闻放入其中,它们将是列表中的任何内容(如果文件发生更改,则在此处)https://github.com/gterrono/houston/blob/master/client/router.coffee#L100 但开头为houston_。您要查找的行如下所示:

BASE_HOUSTON_ROUTES = (Houston._houstonize_route(name) for name in ['home', 'collection', 'document', 'change_password', 'custom_template'])

【讨论】:

  • 没问题,正如 Michel Floyd 所说,尽管您需要在其中放置一个 this.next() 以避免 IR 问题和令人讨厌的控制台输出:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-13
  • 1970-01-01
  • 2016-01-31
相关资源
最近更新 更多