2016-05-04 2 views
0

Я получаю информацию о пользователе по идентификатору, как этотИспользование объекта в шаблоне

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

И я использую это в каждом цикле, как этот

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

Но, кажется, только [объект Object] в шаблоне.

[объект Object]

Как я могу добиться этого? Могу ли я получить информацию о пользователе следующим образом:

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

Мои коды, подобные этим:

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

введите код примера где-нибудь как в jsfiddle –

+0

Ваш помощник должен вернуть строку, которая может быть непосредственно вставлена ​​в DOM. – Thernys

+0

@Thernys Я добавил что-то в свои коды. Невозможно запустить его в Интернете. Или я не могу это сделать. – ozer

ответ

0

я решить проблему с добавлением еще одного параметра к моей функции

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

С уважением.

Смежные вопросы