0

ユーザーがまだ回答していない質問のみが表示されるようにしようとしています。questionsAnsweredユーザーが質問に回答すると、アカウントが更新され、質問usersTrueusersFalse配列が更新されるように設定しました。各テンプレート関数を使用して質問コレクションをループし、すべてのアクティブな質問を表示しています。

add extra パラメータを に追加しようとしました.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

最終的に、crater.io の誰かに助けてもらいました。userId が配列にないかどうかを確認するために、javascript 側に情報を追加しようとしていました。$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 に答える
0

次のことを確認してください。

1. server/publications.js などのサーバー側ファイルを作成して、公開宣言を保持します。

2. そのファイル内で定義します。

Meteor.publish("questionList", function() {
  return QuestionList.find({});
});
于 2015-01-12T17:40:52.563 に答える