流星返回值作为字符串 [英] Meteor return value as string

查看:37
本文介绍了流星返回值作为字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这就是我想要达到的目标.我有两个集合:QuestionsAnswers.当用户回答问题时,答案将设置在 Answers 集合中,并随其传递问题的 ID.

我正在使用此帮助程序显示包含所有问题的列表:

问题:函数(){返回 Question.find({});}

还有这个 html:

    {{#每个问题}}<li>{{question}}</li>{{/每个}}</ol>

我想在每个问题下方显示每个用户给出的答案.我想将问题的 ID 作为字符串值返回,因此我可以执行以下操作:

answers:function(){return Answer.find({问题:<问题的ID>});}

谁能帮我解决这个问题?

你的,L

解决方案

假设您的 Question 集合具有以下架构(为简洁起见进行了简化):

QuestionSchema = new SimpleSchema({标题: {类型:字符串,标签:问题"},类别: {类型:字符串,标签:类别"}});

并且您的 Answer 集合有

AnswerSchema = new SimpleSchema({文本: {类型:字符串,标签:问题"},作者: {类型:字符串,标签:作者"}问题: {类型:字符串,标签:问题"}});

您可以通过创建两个模板助手来解决这个问题,其中第一个只返回问题文档数组,第二个将单个问题 ID 作为参数并返回具有该问题 ID 的所有答案的游标:

Template.questions.helpers({问题:函数(){返回 Question.find({}).fetch();},答案:功能(问题ID){返回 Answer.find({question: questionId}).fetch();}});

接下来模板需要嵌套的 {{#each}} 块,第一个块遍历问题数组并将答案作为下一个助手的参数传递给下一个.