函数返回数据但对象未定义

时间:2015-02-06 08:43:33

标签: mongodb meteor iron-router

我有一个函数可以将最新的提交返回到一个集合,该集合将数据传递给控制台,但该对象仍未定义。我认为我的代码是正确的,但我认为它可能是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 个答案:

答案 0 :(得分:1)

您将完整文档指定为返回值

  

{{aboutToDelete}}

应该呈现Foods集合中的哪个属性?...

另一种解决方案是在路线本身中定义:

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

});