2015-02-06 95 views
0

我有一個函數將最近的提交返回到將數據傳遞到控制檯但該對象保持未定義的集合中。我認爲我的代碼是正確的,但我認爲它可能是Iron Router捕捉的東西?函數返回數據但對象未定義

模板幫手

Meteor.subscribe("date"); 

Template.reportsBeforeDelete.helpers({ 
    aboutToDelete: function() { 
return Foods.findOne({}, {sort: {createdAt: -1}, limit: 1}); 
    } 
}); 

發佈

Meteor.publish('date', function(){ 
    return Foods.findOne({}, {sort: {createdAt: -1}, limit: 1}); 
}); 

HTML模板

<template name="reportsBeforeDelete"> 
    <div class="foods"> 
     {{aboutToDelete}} 
    </div> 
    {{debug aboutToDelete}} 
</template> 

路由器

Router.onBeforeAction(function() { 
    if (! Meteor.userId()) { 
    this.render('landing'); 
    } else { 
    this.next(); 
} 
}); 

Router.configure ({ 
    layoutTemplate: 'home' 
}); 

Router.route('/', {name: 'reports'}); 

Router.route('/activity'); 

Router.route('triggers'); 

回答

1

您指定的完整文檔返回值

{{aboutToDelete}}

從食物收集屬性應呈現?......

另一種解決方案是定義這在路線本身:

Router.route('/foods/latest', { 
    name: 'latestFoodsPage', 
    data: function() { return Foods.findOne({}, {sort: {createdAt: -1}, limit: 1});} 

}); 
+0

應該從Food集合呈現文本字段和日期字段,這些都顯示在t他控制檯。 路線將如何工作?我的模板嵌套在另一個模板中,以便將最近提交的內容放入主頁 – 2015-02-06 09:29:26

+1

您必須使用#with幫助程序: {{#with aboutToDelete}} {{putYourDateFieldHere}} - {{putYourTextFieldHere}} { {/ with aboutToDelete}} – Meteorpoly 2015-02-06 10:23:31

+0

你是一個天才。謝謝,它工作。 – 2015-02-06 10:29:06