我正努力让用户只看到他们尚未回答的问题。我已对其进行了设置,因此当用户回答问题时,它会使用questionsAnswered
更新其帐户并更新问题usersTrue
和usersFalse
数组。我正在使用每个模板函数循环我的问题集以显示所有活动的问题。
我尝试在.find({active: true})
添加一些额外的参数,但这并不起作用。
我的每个循环都有一个助手。我试过添加一个不起作用的if。
我更愿意遍历用户的questionsAnswered
数组,看看他们是否已经回答了问题。
模板
<template name="questionCard">
{{#each questions}}
<div id="{{_id}}" class="card">
{{ que}}
</div>
<div>
<a class="no option" href="#">No</a>
<a class="yes option" href="#">Yes</a>
</div>
{{/each}}
</template>
Javascript(帮助)代码:
Template.questionCard.helpers({
'questions': function(){
var currentUser = Meteor.userId();
return QuestionList.find({active: true});
}
});
我希望卡片在回答后消失,但如果循环被修复,该问题应该自行解决。
非常感谢任何帮助。
答案 0 :(得分:0)
确保执行以下操作:
<强> 1。创建服务器端文件,例如server / publications.js,以保存发布声明
<强> 2。在该文件中定义:
Meteor.publish("questionList", function() {
return QuestionList.find({});
});
答案 1 :(得分:0)
我最终得到了某人在crater.io的帮助。我试图向javascript端添加信息以检查userId是否不在数组中。我被介绍给$ nin运算符,所以我的代码最终看起来像这样。
感谢您的回复!
Template.questionCard.helpers({
'questions': function(){
var currentUser = Meteor.userId();
return QuestionList.find({active: true, usersTrue: {$nin: [currentUser]},
usersFalse: {$nin: [currentUser]}});
}
});