私はMeteorを初めて使用するので、初心者の質問をお詫びします。私はCoffeeScriptを使用していることに注意してください。
次のように、サーバーとクライアントの「ifs」の上に新しいコレクションを作成します。
Trivia = new Meteor.Collection("trivia")
起動時に、ifMeteor.isServerの下のコレクションにいくつかのドキュメントを挿入します。ここでの1つの例:
Meteor.startup () ->
Trivia.remove({})
Trivia.insert({question: "Who Played Ethan Hunt in Mission Impossible?", choices: ["Tom Cruise", "Matt Damon", "Liam Neeson", "Edward Norton"], answer: "Tom Cruise", used: false})
HTMLページには、{{ask}}が含まれる「雑学クイズ」テンプレートがあります。
<body>
{{> trivia}}
</body>
<template name="trivia">
<p class="label label-info">Movie Trivia:</p>
<h3>{{ask}}</h3>
</template>
これが.isClient内の私のコードです
if Meteor.isClient
Template.trivia.ask = () ->
Trivia.findOne({used: false})
そのまま、HTMLのh3タグ内に[objectObject]を戻します。
質問のテキストを取り戻そうとしていますが、次のコードを使用すると空白のページが表示されます。
Template.trivia.ask = () ->
Trivia.findOne({used: false}).question
コンソール内でTrivia.findOne({used:false})。questionを実行すると、探していたものが表示されます。つまり、「ミッションインポッシブルでイーサンハントをプレイしたのは誰ですか?」です。