Meteor.user () devuelve solo su _id
Después de iniciar sesión en un usuario conMeteor.loginWithPassword()
o creando uno nuevo conAccounts.createUser
(ambos del lado del cliente), puedo confirmar en sus devoluciones de llamada queMeteor.user()
De hecho contiene todas las propiedades del registro establecido.
{ _id: "XXX",
profile: {
name: "Joe Shmoe",
thumbnail: "http://www.YYY.com/ZZZ.jpg"
},
username: "joeshmoe" }
Además, de acuerdo conlos documentos oficiales,
De forma predeterminada, el nombre de usuario, los correos electrónicos y el perfil del usuario actual se publican en el cliente.
Entonces, ¿alguien podría decir por qué cuando intento acceder a estos campos en mis Plantillas de esta manera?
Template.login.user_name = function () {
return (Meteor.userId() ? Meteor.user().profile.name : '')
};
falla debido aMeteor.user()
solo regresando{_id: "XXX"}
¿Con ninguna de sus propiedades reales? Es decir. el usuario ha iniciado sesión definitivamente, pero el objeto de usuario se perdió repentinamente / está ocultando todas sus propiedades.
Alguien sabe lo que podría ser el problema?
Muchas gracias.
EDITAR: esto sucede con Meteor 0.5.4, la última versión en este momento de la escritura. La respuesta aceptada de hecho soluciona el problema; algunas vecesMeteor.userId()
ya es válido antes de que el resto del Objeto haya llegado del servidor. Gracias a todos.