Meteor collection 未显示

Meteor collection not displaying

我正在尝试显示我的订单 collection。 Orders collection 架构有一个 select 字段由 Items collection 填充。

我似乎无法让订单 collection 显示在我的管理员模板上。我已经确认我正在使用 Mongol 发布到 collection,并且我在控制台中没有收到任何错误。我也试过在表格 table 中显示它,但没有成功。

有什么想法吗?我还在学习 meteor 并且已经盯着这个屏幕好几个小时了..也许现在需要一些新鲜空气,稍后再看看...

/collections/orders.js

Orders = new Mongo.Collection("orders");
    Orders.attachSchema(new SimpleSchema({
      station: {
        type: String,
        label: 'Station',
        max: 2,
      },
      itemselect: {
        type: [String],
        label: 'Items',
        optional: false,
        autoform:{
          type: "select",
          options : function()  {
            return Items.find().map(function (c) {
              return {label: c.name , value: c._id}
            })
          }
        }
      }
    }));

/templates/admin.html

<template name="ordersTable">
  <div class="admin">
    <div class="panel panel-default">
      <div class="panel-heading">
       <h4 class="panel-title">
         <a data-toggle="collapse" href="#collapse2">
           <button type="button" class="btn btn-default navbar-btn">Orders</button>
         </a>
       </h4>
     </div>
     <div id="collapse2" class="panel-collapse collapse">
       <div class="panel-body">
         <ul>
           {{#each orders}}
             <li>{{> station}}</li>
           {{/each}}
         </ul>
       </div>
       <div class="panel-footer">
         {{> addOrderFormAdmin}}
       </div>
     </div>
    </div>
  </div>
</template>

/templates/admin.js <这最终成为我的问题..

Template.dashboard.rendered = function() {
  return Orders.find();
};

** 应该是一个帮手.. 所以这个:

Template.ordersTable.helpers({
  orders: function () {
    return Orders.find();
  }
});

插入订单

<template name="addOrderFormAdmin">
  {{> autoformModals}} <!-- this is required for this modal to open -->
    {{#afModal class="btn btn-primary" collection="Orders" operation="insert"}}
      Add New Order
    {{/afModal}}
</template>

如果您删除了自动发布包,请检查发布和订阅。首先,看看你是否可以通过控制台(在网页上,而不是命令行)访问集合。其次,查看您的帖子后集合是否更新(为此,您可以在服务器为 运行 时通过键入 "meteor mongo" 使用命令行,或者只需下载 Robomongo)。

您的 dashboard rendered 回调中的代码没有任何意义。我认为您想为 ordersTable 模板创建一个 helper function

Template.ordersTable.helpers({
  orders: function () {
    return Orders.find();
  }
});

此外,请注意 Template.myTemplate.rendered 在 Meteor 版本 1.0.4.2(及更高版本)中已弃用,请改用 Template.myTemplate.onRendered