gpt4 book ai didi

javascript - meteor :Accounts.createUser() 不创建用户

转载 作者:行者123 更新时间:2023-11-30 16:27:57 26 4
gpt4 key购买 nike

我正在构建一个应用程序,人们无法自己创建帐户,但创建的第一个用户(我)可以在应用程序的表单中创建用户。

这就是我在/lib/config/account.js 中设置的原因:forbidClientAccountCreation: true,

我的问题是,当我登录时,我无法在我的表单中创建用户..(即使我在上面将此选项设置为 false。这是我的代码:

userAdd.js:

Template.userAdd.events({
'submit .new-user': function(event) {
event.preventDefault();

var email = $('input[name="email"]').val();;
var username = $('input[name="username"]').val();;

Accounts.createUser({
email: email,
username: username,
password: 'toto',
profile: {

}
});

event.target.email.value = "";
event.target.username.value = "";
}
});

/server/publications/user.js:

 Meteor.publish('users', function() {
return Meteor.users.find();
})

Meteor.users.allow({
'insert': function (userId, doc) {
return true;
}
});

我的用户列表,我在其中显示用户列表:

Meteor.subscribe('users');

Template.usersList.helpers({
users: function() {
return Meteor.users.find();
}
});

我也尝试过使用 Meteor.users.insert() 但它也不起作用..

你能帮帮我吗?


添加了路由:

FlowRouter.route('/users', {
name: "users",
action: function() {
BlazeLayout.render('applicationLayout', {
menu: 'menu',
container: 'usersList'
});
}
});

AccountsTemplates.configureRoute('changePwd');
AccountsTemplates.configureRoute('forgotPwd');
AccountsTemplates.configureRoute('resetPwd');
AccountsTemplates.configureRoute('signIn');

添加用户.html

<template name="userAdd">
<form class="ui form new-user">
<div class="inline fields">
<div class="seven wide field">
<label>Email</label>
<input type="text" name="email" placeholder="Email">
</div>
<div class="seven wide field">
<label>Username</label>
<input type="text" name="username" placeholder="Username">
</div>
<button class="ui button icon right labeled teal" type="submit" name="submit"><i class="right checkmark icon"></i>Valider</button>
</div>
</form>
</template>

用户.js

Template.tableUser.helpers({
email: function() {
return this.emails[0].address;
}
});

.包

insecure                # Allow all DB writes from clients (for prototyping)
kadira:flow-router
semantic:ui
flemay:less-autoprefixer
underscore
kadira:blaze-layout
arillo:flow-router-helpers
zimme:active-route
aldeed:collection2
accounts-password
useraccounts:flow-routing
useraccounts:semantic-ui
accounts-base

这都是与帐户相关的...

最佳答案

感谢@JeremyK 和@Sasikanth!现在可以使用了,

我将代码更改为服务器端。不知道是否一切都完美,但这是工作代码:

添加用户.js:

Meteor.subscribe('users');

Template.userAdd.events({
'submit .new-user': function(event) {
event.preventDefault();

var email = $('input[name="email"]').val();
var password = $('input[name="password"]').val();
var firstname = $('input[name="firstname"]').val();
var lastname = $('input[name="lastname"]').val();

Meteor.call("createUsers", email, password, firstname, lastname);

event.target.email.value = "";
event.target.password.value = "";
event.target.firstname.value = "";
event.target.lastname.value = "";
}
});

/server/methods/user.js

Meteor.methods({
createUsers: function(email, password, firstname, lastname) {
Accounts.createUser({
password: password,
username: firstname + ' ' + lastname,
email: email,
createdAt: new Date(),
});
},

deleteUser : function(id){
return Meteor.users.remove(id);
},
});

用户.js

Template.tableUser.events({
"click .delete": function () {
var idUser= this._id;
Meteor.call('deleteUser',{_id:idUser})
}
});

非常感谢:)

关于javascript - meteor :Accounts.createUser() 不创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33823173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com