0

我正在将 Collection2 和 Autoform 用于应用程序。

我有一个select选项从一个状态中拉出collection地址。

我的模式是在 isServer/isClient 块之外声明的。

var Schemas = {};
Schemas.addresses = new SimpleSchema({
  state_id: {
    type: Meteor.ObjectID,
    autoform: {
      options: function () {
        console.log(states.find().fetch());
        return states.find().map(function (c) {
          return {label: c.name, value: c._id};
        });
      }
    }
  }
});
people = new Meteor.Collection("people");
Schemas.people =    new SimpleSchema({
  address:{
    type: [Schemas.addresses],
    optional: true
  }
});
people.attachSchema(Schemas.people);
states = new Meteor.Collection("states");

在 isClient 块中:

Meteor.subscribe("states");

在 isServer 块中:

Meteor.startup(function () {
  Meteor.publish("states", function () {
    return states.find();
  });
});

最后是我的模板:

<template name="createPerson">
  {{> quickForm collection="people" type="insert"}}
</template>

你会看到我什至console.log在模式 autoform 选项函数调用中添加了一个,它返回一个大的 empty []。如果我将它console.log放在模式声明之外或 isClient/isServer 块中,我会得到预期的状态数组。

我错过了什么会导致这个集合返回空?

谢谢

4

0 回答 0