0

我正在努力做到这一点,以便用户只能看到他们尚未回答的问题。我已经设置好了,所以当用户回答问题时,它会更新他们的帐户questionsAnswered并更新问题usersTrueusersFalse数组。我正在使用每个模板函数来循环我的问题集合以显示所有活动问题。

我试图添加一些额外的参数,.find({active: true})但这不起作用。

我的每个循环都有一个助手。我试过添加一个 if else 不起作用。

我宁愿遍历用户的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});
}
});

我希望卡片在他们回答后消失,但如果循环得到修复,这个问题应该会自行解决。

任何帮助将不胜感激。

4

2 回答 2

0

确保执行以下操作:

1.创建一个服务器端文件,例如server/publications.js,来保存发布声明

2. 在该文件中定义它:

Meteor.publish("questionList", function() {
  return QuestionList.find({});
});
于 2015-01-12T17:40:52.563 回答
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]}});
}
});
于 2015-01-14T22:07:32.720 回答