2015-09-30 124 views
1

进出口使用解析作为首次后台将用户添加到角色。在我的业务中,用户必须在注册页面上选择2个角色:“角色1”和“角色2”。如果我理解的文档的访问“_Role”级应该是只读的,所以最好的方式将用户添加到角色,而该用户尝试注册是通过云代码。解析:使用云代码

我的想法(不知道其最好的做法)是第一列添加到这个用户,被称为“角色”,因此用户对象将是这样的:

{ 
    username: "John Doe", 
    email: "[email protected]", 
    role: "Role1", 
    createdAt : ... 
    ... 
} 

和第二,添加该用户到使用云代码的角色“Role1”。

这里是云代码:

Parse.Cloud.afterSave(Parse.User, function(request, response) { 
var user = request.user; 
Parse.Cloud.useMasterKey(); 
var query = new Parse.Query(Parse.Role); 
// user.role is undefined here !!! 
query.equalTo("name", user.role); 
query.first({ success: function(role) { 
    role.relation("users").add(user); 
    role.save(); 
} ,error: function(error){ 
    console.log('error'); 
    console.log(error); 
}}); 

});

正如你在代码中看到的,我需要通过其名称使用查询来获取用户的角色。该角色应该存储在用户对象中,但在此代码中并非如此。

问题:我怎么能访问云中的代码的作用领域?

谢谢。

回答

0

为了得到role领域,我们必须使用user.get('role')而不是user.role

注意:如果您使用的是1.6.0 SDK中的代码将失败,可以考虑在” .parse的值更改为1.5.0。项目“文件,等待这个bug被修复。