2

我有一些代码要在用户验证他们的电子邮件后运行。

我会把它放在哪里?

我能想到的唯一地方是重定向路线,但这有点笨拙,并且依赖于用户等待重定向发生。我正在使用铁路由器。

这是我的第一次尝试,但重新计算功能是服务器端的。

AccountsTemplates.configureRoute('verifyEmail', {
  redirect: function(){
    var user = Meteor.user();
    if (user) {
      user.recalculateSignUpReputation();
      Router.go('home');
    }
  }
});

这是一个观察光标的解决方案,但这似乎有点矫枉过正。我更喜欢一个活动。解决方案 #1 对我不起作用。

4

1 回答 1

0

感谢您的评论。我最终这样做了。

AccountsTemplates.configureRoute('verifyEmail', {
  redirect: function(){
    var user = Meteor.user();
    if (user) {
      Meteor.call('recalculateSignUpReputation');
      Router.go('home');
    }
  }
});

它在客户端工作,并调用服务器端代码。不是很棒,但有效。如果您有不同/更好的方法,我会将其标记为正确答案。

于 2016-01-23T05:12:23.273 回答