2016-05-04 5 views
0

ich Benutzerinformationen von id wie dieseMit Objekt in Vorlage

Template.registerHelper('getInfo', (id) => { 
    return getInfo.find({ _id: id}).fetch() 
}); 

Und ich dies in einer einzelnen Schleife wie diese

{{#each posts}} 
    {{getInfo post_user_id}} 
{{/each}} 

Aber es scheint, nur [object Object] in Vorlage.

[object Object]

Wie kann ich das erreichen? Muss ich Benutzerinformationen wie folgt erhalten:

{{#each posts}} 
    {{getInfo post_user_id}}.user_name 
{{/each}} 

Meine Codes sind wie diese:

Users = new Mongo.Collection('users'); 
Posts = new Mongo.Collection('posts'); 


Posts.insert({ text: "text 1", post_user_id: "1"}); 
Posts.insert({ text: "text 2", post_user_id: "1"}); 
Posts.insert({ text: "text 3", post_user_id: "1"}); 
Posts.insert({ text: "text 4 is from user id 2", post_user_id: "2"}); 

Users.insert({ user_name: "jack", _id: 1}); 
Users.insert({ user_name: "another user", _id: 2}); 

Template.registerHelper('getInfo', (id) => { 
    return Users.find({ _id: id}).fetch() 
}); 

Template.posts.helpers({ 
    posts() { 
     return Posts.find({}, { sort: { limit: 50, createdAt: -1 } }); 
    }, 
}); 
+0

Bitte geben Sie Ihren Beispielcode irgendwo wie in jsfiddle –

+0

Ihr Helfer sollte eine Zeichenfolge zurückgeben, die direkt in das DOM eingefügt werden kann. – Thernys

+0

@Thernys Ich habe etwas zu meinen Codes hinzugefügt. Es ist nicht möglich, es online zu betreiben. Oder ich kann es nicht tun. – ozer

Antwort

0

Ich löse das Problem mit Hinzufügen eines weiteren Parameter zu meiner Funktion

Template.registerHelper('getInfo', (id, field) => { 
    return Users.findOne({ _id: id}).[field] // <-- 
}); 

Grüße.

Verwandte Themen