当一个人注册(账户输入)时,它会将他们带到名为" dashboard"的页面。我想要它,以便在他们注册之后,如果这是第一次(对于该帐户)他们正在看到该页面,它将显示某种欢迎消息。这可能吗?
感谢。
更新: 我试过这个:
Accounts.onCreateUser(function(options, user) {
console.log('New account created!');
});
但它给了:
Exception while invoking method 'entryCreateUser' Error: insert requires an argument
我正在使用帐户条目。有没有解决这个问题?
答案 0 :(得分:1)
在不了解您的应用程序的情况下,很难就您的最佳方式提供建议。但这里有三种可能的方法。
如果您要创建自己的注册/登录活动,只需在注册活动中路由到“欢迎”路线/模板,在登录时路由到“仪表板路径/模板”。
如果您想使用默认帐户-ui,可以使用Accounts.onCreateUser挂钩服务器端将{'isNewUser':true}添加到用户帐户文档。然后检查此属性客户端以确定要显示的模板。
或者您可以尝试wrapping Accounts.createUser包含您需要客户端转到欢迎路线/模板而非仪表板的额外逻辑。
答案 1 :(得分:0)
最简单的方法是设置一个会话变量,然后在模板中使用一个帮助器来关闭它:
在新的帐户代码中:
Session.set('isNewUser',true);
Router.go('dashboard')
HTML:
<template name='dashboard'>
{{#if newUser}}Welcome!!{{/if}
... rest of your template ...
</template>
JS:
Template.dashboard.helpers({
newUser: function(){
return Session.get('isNewUser');
}
});
您还需要代码以便稍后删除该Session变量或将其设置为false。