2013-10-17 4 views
1

Ci-dessous mon code, mais pour une raison quelconque, le prénom et le nom ne sont pas sauvegardés? Comment sauvegarder des informations supplémentaires lors de la création d'un nouvel utilisateur dans Meteor? J'utilise le package accounts-password.Meteor.js ajouter plus d'informations sur le compte d'utilisateur s'inscrire

Accounts.createUser({ 
    email: email, 
    password : password, 
    profile: {firstName: firstName, lastName: lastName} 
}, function (err) { 
    if (err) { 
    // Inform the user that account creation failed 
    } else { 
    // Success. Account has been created and the user 
    // has logged in successfully. 
    } 
}); 
+1

Avez-vous un appel à 'Accounts.onCreateUser'? –

+0

Oui. Je l'ai commenté et maintenant ça marche bien. C'était le code onCreateUser: 'Accounts.onCreateUser (fonction (options, utilisateur) { if (! User.username &&! User.services &&! User.services.facebook) { user.username = user.services.facebook. nom d'utilisateur; } retour utilisateur; }); ' Pourquoi cela a-t-il causé un problème avec le profil? –

Répondre

1

Le rappel onCreateUser doit retourner l'objet user finall qui est sur le point d'être sauvegardé dans la base de données. Le problème que vous avez vient du fait que les données profile doivent être accroché manuellement tho l'objet user (voir meteor docs pour plus de détails):

Accounts.onCreateUser(function(options, user) { 
    // [...] 
    if (options.profile) 
     user.profile = options.profile; 
    return user; 
}); 
Questions connexes