如何在使用accounts-ui包创建用户时添加user.profile?

时间:2014-08-15 01:07:49

标签: javascript meteor

如何将以下代码添加到accounts-ui包中,以便在创建用户时创建配置文件?

    if (options.profile) 
    {
      user.profile = options.profile;
    }

如果无法更改accounts-ui表单,是否可以在创建帐户时向配置文件添加空对象?

或许这样的事情:

user.profile = {};

我在"包"中寻找这个包。目录但没有找到它,为什么不存在?我认为这段代码很容易用于任何必要的修改。

对此的任何建议都会很棒。

提前致谢:)

1 个答案:

答案 0 :(得分:4)

无需向任何包添加任何内容。每当创建用户时,都会运行Accounts包中的一个钩子。 Accounts.onCreateUser您可以使用它来填写用户文档的默认值。您将用户对象返回到要保存的状态。

应该在服务器上运行。例如,创建文件 server / usersetup.js 并添加以下代码。

Accounts.onCreateUser(function(options, user) {
    if (! options.profile) options.profile = {};
    options.profile.artist = true;
    options.profile.reputation = 100;
    options.profile.someObject = {a: [], b: {}};

    user.profile = options.profile;
    return user;
});

Here's the documentation.