С шаблоном, как использовать {{attribute}} с одной "записью" по сравнению с #each с помощью курсора find()?

Я знаю, что с помощью шаблона вы можете отображать несколько документов с их атрибутами, такими как:

// html
<template name="hello">
{{#each greetings}}
   {{message}}
{{/each}}
</template>

// js
Template.hello.greetings = function() {
   return Greetings.find();
}

Который показывает Greeting.message для каждого найденного документа приветствия.

У меня вопрос: как использовать этот шаблон только для одного документа? (включая отсутствие доступного документа)

Со стороны javascript я бы использовал что-то вроде return Greetings.findOne({'id' : Session.get("greeting_id")});

Но при использовании шаблона:

<template name="hello">
   {{message}}
</template>

выдается ошибка: Uncaught TypeError: Cannot read property 'message' of undefined

UPDATE

На данный момент я использую это на стороне JS, используя шаблон, предложенный @tom-wijsman ниже:

Template.hello.greeting = function() {
   var greeting = Greetings.findOne({'id' : Session.get("greeting_id")})
   if (greeting)
       return greeting;
   return {message: ""};
}
5
задан Michel Löhr 15 May 2012 в 14:06
поделиться