Je n'arrive toujours pas à comprendre comment accéder à Meteor.users en tant que clé étrangère d'une autre requête de collection. Je comprends que seul l'utilisateur actuel est publié par défaut, donc j'ai une publication sur le serveur commeCollection d'utilisateurs Meteor et problèmes de Deps.autorun
Meteor.publish('itemOwner', function(userId) {
check(userId, String);
var user = Meteor.users.find({id: userId});
return user;
// return Meteor.users.find({id: userId}, {
// fields: {'profile': 1} });
});
J'ai alors Deps.autorun sur le client ..
Deps.autorun(function() {
var itemOwnerId = Session.get("itemOwnerID");
if (itemOwnerId) {
debugger
var ID = Session.get("itemOwnerID");
Meteor.subscribe('itemOwner', Session.get("itemOwnerID"));
}
});
Je mets la session ID sur une charge de forme modale et l'afficher dans le modèle en appelant l'aide ownerProfile (ou essayer de)
Template.showQuoteModalInner.helpers({
getQuote: function() {
// Get the quote ID from the session var
var quote = Session.get("quoteID");
if(quote) {
debugger;
var ID = quote.user._id;
Session.set("itemOwnerID", quote.user._id);
return quote;
}
},
ownerProfile: function() {
debugger;
var quote = Session.get("quoteID");
if(quote) {
var ID = quote.user._id;
var theUser = Meteor.users.find({_id: quote.user._id});
return theUser;
};
}
});
maintenant, je peux retracer l'ID utilisateur à chaque étape et voir se correctement transmis à l'autorun un d les aides. Si j'arrête le programme au débogueur dans l'helper ownerProfile et dans la console met dans Meteor.user.fetch ({_ id: "l'id ici"}). Fetch() j'obtiens l'utilisateur correct .. mais, dans le gestionnaire lui-même le Meteor.users.find renvoie null ??? Qu'est-ce que je rate?
Correction de ces deux problèmes et tout fonctionne !! Je vous remercie. J'ai regardé cela pendant des jours mais je n'ai pas vu ça. –