Javascript 我能';t使Alling:角色包正常工作

Javascript 我能';t使Alling:角色包正常工作,javascript,meteor,packages,roles,meteor-accounts,Javascript,Meteor,Packages,Roles,Meteor Accounts,因此,我有一个启动时运行的初始化文件,该文件调用以下服务器端Meteor函数: createAdminUser : function () { var userObject = { email: "admin@test.com", password: "abc123", profile: { first_name: "admin", last_name: "user"} }; Accounts.createUser(use

因此,我有一个启动时运行的初始化文件,该文件调用以下服务器端Meteor函数:

createAdminUser : function () {
    var userObject = {
        email: "admin@test.com",
        password: "abc123",
        profile: { first_name: "admin", last_name: "user"}
    };

    Accounts.createUser(userObject, function(){

    });

    Roles.addUsersToRoles(userObject, 'admin');
}
用户创建成功,但当我进入javascript控制台检查当前用户是否启用了“管理员”角色时,返回false:

input -> Roles.userIsInRole(Meteor.user(), 'admin')
output -> false
文档中说,只有在创建了用户之后才应该调用Role函数,这(我很确定)是我正在做的,不是吗


如果有人能解释我的愚蠢,我将非常感激。

Roles.addUsersToRoles(id,'Role')的第一个参数需要是数据库中用户对象的id(由Accounts.createUser返回)

试试这个:

var userObject = {
    email: "admin@test.com",
    password: "abc123",
    profile: { first_name: "admin", last_name: "user"}
};

var userId = Accounts.createUser(userObject);

Roles.addUsersToRoles(userId, 'admin');

Roles.addUsersToRoles(id,'Role')的第一个参数需要是数据库中用户对象的id(由Accounts.createUser返回)

试试这个:

var userObject = {
    email: "admin@test.com",
    password: "abc123",
    profile: { first_name: "admin", last_name: "user"}
};

var userId = Accounts.createUser(userObject);

Roles.addUsersToRoles(userId, 'admin');

我已经试过了,但不幸的是结果是一样的。还有其他建议吗?
console.log(Meteor.user())
说了些什么?我试过了,但不幸的是结果是一样的。还有其他建议吗?
console.log(Meteor.user())
怎么说?