2016-01-22 72 views
0

我無法弄清楚如何將user.roles設置爲用戶在完成註冊時選擇的值。下面的代碼可以工作,但它將角色設置爲教師和學生,而不是用戶選擇的內容。我使用的是:將user.roles設置爲用戶在註冊時選擇的值

  • alanning:角色
  • useraccounts:引導

useraccounts:引導

路徑:server.startup.js

Meteor.startup(function() { 

console.log('Running server startup code...'); 

Accounts.onCreateUser(function (options, user) { 
Roles.setRolesOnUserObj(user, ['student','teacher']); 

if (options.profile) { 
// include the user profile 
user.profile = options.profile 
} 

// other user object changes... 
// ... 

return user; 
}); 

}); 

路徑:lib/config/at_config.js

AccountsTemplates.addField({ 
_id: "roles", 
type: "radio", 
displayName: "Account type", 
required: true, 
select: [ 
{ 
text: "Student", 
value: "student", 
}, { 
text: "Teacher", 
value: "teacher", 
} 
], 
}); 
+0

你是不是想根據用戶選擇的值向用戶添加角色?所以它是Roles.setRolesOnUserObj(user,['student','teacher']);那不起作用?你似乎在分配這兩個角色? – smoksnes

+0

是的,我不確定我如何使用用戶選擇,並通過它,以便我分配該特定的選擇。 – bp123

回答

0

AccountsTemplates.addFieldprofile下的字段,所以你應該能夠像這樣的東西來獲取所選角色:

Accounts.onCreateUser(function (options, user) { 

    if (options.profile && options.profile.roles) { 
     // include the user profile 
     Roles.setRolesOnUserObj(user, options.profile.roles); 
    } 
} 

一個類似的問題在這裏找到:

https://github.com/meteor-useraccounts/core/issues/290

+0

謝謝@smoksnes你真的幫我在那裏。我被難倒了。這完全解決了我的問題。 – bp123

+0

太好了。樂意效勞。與流星玩得開心! – smoksnes

相關問題