2014-01-11 33 views
2

我有一個HTML模板,我想要顯示存儲在使用handlebars幫助器的mongo對象中的值。從Mongodb集合與流星調用手柄條幫助器時沒有這樣的模板錯誤

HTML - 我想告訴ANSWER1作爲存儲在「問題1」在蒙戈

<template name="preferencesView"> 
<div class="preferences"> 
    <h3>Here are your preferences</h3> 

     <p> Answer to question 1 <a>{{> answer1}}</a></p><br> 
     <p> Answer to question 2 <b>{{> answer2}}</b></p><br> 

    </div> 

</template> 

這裏是我的.js幫手的字符串。 (爲什麼不存儲ANSWER1這裏的模板可以通過{{ANSWER1}}在我的HTML文檔被稱爲?)

Template.preferencesView.helpers = ({ 
answer1: function() { 
    return Preferences_col.find({userId: Meteor.userId()} 
     ); 
} 
}); 

而且 - 我使用正確的蒙戈調用在上面助手找到我需要的數據? (Question1)下面是我的表單提交事件創建的示例。

{ "Question1" : "Yes", "Question2" : "Yes", "userId" : "hqWJNWLjwfggJtbPi", "submitted" : 1389406102126, "_id" : "fWEpMXX4w9wfzLg5g" } 

當我在終端中運行meteor時,它不會遇到任何錯誤。然而,在我的瀏覽器控制檯我「:錯誤:從重新計算的DEP異常沒有這樣的模板‘ANSWER1’」越來越

PS - 這是我的#2的第一篇文章,所以請讓我知道如果你需要更多的信息!

回答

1

如果我是正確的,你說錯了。調用模板與{{> templateName}}一起使用,而使用{{helperName}}調用幫助器。此外,作爲find查詢的結果,即使大小僅爲1,查詢結果也不會返回find查詢的結果,而是返回findOne查詢的結果,這將會有點麻煩。

+0

謝謝修復了沒有這樣的模板的錯誤。不過,當我致電{{answer1}}時,我仍然無法顯示任何內容。我是否需要指定我希望它找到Question1? return Preferences_col.findOne({Question1:「」}? –

+0

我可以將它作爲瀏覽器控制檯中的一個對象返回,其中包括:--------- Preferences_col.findOne({userId:Meteor.userId()},{字段:{Question1:1}}但是,如何獲取它顯示字符串「是」 –

+0

嘗試'var prefs = Preferences_col.findOne({userId:Meteor.userId()}); return(prefs || {}) .Question1;'。你需要返回你感興趣的字段的值而不是整個對象。 – alanning

相關問題