Parse.com CloudCode将用户添加到现有角色不起作用

时间:2014-11-27 21:03:28

标签: javascript parse-platform cloud-code parserole

这是我正在尝试使用的Parse javascript云代码。在创建新的_User时,我想将它们添加到我的“客户”角色中。

Parse.Cloud.afterSave(Parse.User, function(request) {
    Parse.Cloud.useMasterKey();

    query = new Parse.Query(Parse.Role);
    query.equalTo("name", "Client");
    query.first ({
        success: function(role) {
            role.getUsers().add(request.user);
            role.save();
        },
        error: function(error) {
            throw "Got an error " + error.code + " : " + error.message;
        }
    });
});

这是直接从Parse.com的角色示例中获取代码。保存新的_User时,代码运行得很愉快,返回Result: Success,但是当我在数据浏览器中检查与该角色关联的“用户”时,没有发生任何事情。

我也尝试用role.getUsers().add(request.user);替换role.relation("users").add(request.user);作为Parse.com旧论坛上的一个例子,但没有区别。这似乎应该是非常直接的,所以我不确定我做错了什么。

(我已经手动使用REST API,使用curl将_Users添加到客户端角色,这确实有效,所以我知道它应该有效。)

1 个答案:

答案 0 :(得分:4)

原来你需要使用request.object而不是request.user。现在它有效!