[英]Roles with Meteor and React
我目前正在為客戶開發項目。 我正在嘗試在用戶注冊帳戶時為他們分配角色。
handleSubmit(e){
e.preventDefault();
this.setState({message:'',messageClass:'hidden'});
var that = this;
var first_name = ReactDOM.findDOMNode(this.refs.first_name).value.trim();
var last_name = ReactDOM.findDOMNode(this.refs.last_name).value.trim();
var email = ReactDOM.findDOMNode(this.refs.email).value.trim();
var password = ReactDOM.findDOMNode(this.refs.password).value.trim();
var type = 'fan';
var user = {email:email,password:password,profile:{fullname:(first_name + last_name).toLowerCase(),firsname:first_name,lastname:last_name,avatar:'http://placehold.it/150x150',friends:[],type:type}};
Accounts.createUser(user,function(e){
if (e) {
Materialize.toast(e.reason, 5000);
} else {
FlowRouter.go('/dashboard');
}
})
}
上面是我的注冊表單的handle提交事件。 下面是我添加的掛鈎,用於在插入用戶后為用戶分配角色。
Meteor.users.after.insert(function (userId, doc) {
if (doc.profile.type === "fan") {
Roles.addUsersToRoles(doc._id, [ROLES.Fan])
}
});
我發現的是,已創建用戶,但沒有將其重定向到儀表板,而是保留在注冊頁面上,並在烤面包機消息中收到錯誤,指出內部服務器錯誤。 當我進入控制台以查找創建的用戶時,分配了個人檔案類型,但是該用戶缺少其電子郵件地址。
這是我在終端窗口中遇到的錯誤:
調用方法'createUser'時發生異常ReferenceError:未定義ROLES I20160402-16:04:42.482(-4)? 在對象。 (both / collection_hooks / hooks.jsx:3:35)I20160402-16:04:42.482(-4)?
在package / matb33_collection-hooks / insert.js:35:1 I20160402-16:04:42.482(-4)? 在Array.forEach(packages / es5-shim / .npm / package / node_modules / es5-shim / es5-shim.js:417:1)I20160402-16:04:42.483(-4)嗎? 在功能。 。每。 .forEach(packages / underscore / underscore.js:105:1)I20160402-16:04:42.483(-4)? 在之后(packages / matb33_collection-hooks / insert.js:34:1)I20160402-16:04:42.483(-4)嗎? 在Object.CollectionHooks.defineAdvice.self(packages / matb33_collection-hooks / insert.js:49:1)I20160402-16:04:42.485(-4)嗎? 在Object.collection。(匿名函數)[作為插入](packages / matb33_collection-hooks / collection-hooks.js:117:1)I20160402-16:04:42.485(-4)? 在[object Object] .Mongo.Collection。(匿名函數)[作為插入](packages / mongo / collection.js:590:1)I20160402-16:04:42.485(-4)嗎?
在AccountsServer.Ap.insertUserDoc(accounts_server.js:1248:25)I20160402-16:04:42.486(-4)嗎? 在createUser(password_server.js:980:25)
有人知道到底發生了什么嗎?
變量ROLES
不在鈎子上下文中定義。 它不是全局的,或者您正在使用Meteor 1.3,並且尚未從定義它的文件中導出它並將其導入到您定義鈎子的文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.