meteor-autoform 无法显示表单:无法读取未定义的 属性 'schema'

meteor-autoform cannot display form: Cannot read property 'schema' of undefined

我尝试在我的 Meteor 应用程序中创建类型为 method 的自动表单。

客户端HTML:

<template name="addLeader">
   <div id="addLeader" class="addLeader">
      <h2></h2>
      {{#autoForm schema=LeaderSchema id="insertPostForm" type="method" meteormethod="serverMethod"}}
      {{> afQuickField name='userName' class='form-input'}}
      {{> afQuickField name='secondName' class='form-input'}}
      {{> afQuickField name='email' class='form-input'}}
      {{> afQuickField name='password' type='password' class='form-input'}}
      <button type="submit" class="btn btn-default full-width accept-button"><span class="glyphicon glyphicon-ok "></span></button>
      {{/autoForm}}
      <button class="btn btn-default full-width cancel-button"><span class="glyphicon glyphicon-remove "></span></button>
   </div>
</template>

客户端 JS:

Template.adminPanel.helpers({

    LeaderSchema: function() {
        return Schema.LeaderSchema;
    }
});

库中的架构:

Schema = {};

Schema.LeaderSchema = new SimpleSchema({
    userName: {
        type: String,
        label: ""
    },
    secondName: {
        type: String,
        label: ""
    },
    email: {
        type: String,
        label: ""
    },
    password: {
        type: String,
        label: ""
    }
});

服务器方法:

Meteor.methods({
    serverMethod: function(doc) {
        console.log(doc);
    }
});

在我想显示表单的视图中,表单字段没有显示,我得到这个错误:

Exception in template helper: TypeError: Cannot read property 'schema' of undefined
    at Object.getDefs (http://localhost:3000/packages/aldeed_autoform.js?666ec8103d59fae9aad5553df832ececaa593358:255:18)
    at Object.autoFormGetComponentContext [as getComponentContext] (http://localhost:3000/packages/aldeed_autoform.js?666ec8103d59fae9aad5553df832ececaa593358:516:20)
    at Object.afQuickFieldIsGroup (http://localhost:3000/packages/aldeed_autoform.js?666ec8103d59fae9aad5553df832ececaa593358:7489:30)
    at bindDataContext (http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2880:16)
    at Blaze._wrapCatchingExceptions (http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1651:16)
    at http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2928:66
    at Function.Template._withTemplateInstanceFunc (http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:3476:12)
    at wrapHelper (http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2927:27)
    at Object.Spacebars.call (http://localhost:3000/packages/spacebars.js?7bafbe05ec09b6bbb6a3b276537e4995ab298a2f:172:18)
    at http://localhost:3000/packages/aldeed_autoform.js?666ec8103d59fae9aad5553df832ececaa593358:7440:22

当我从 html 文件中删除表单域时,我不会收到错误。可能是什么原因?我做错了什么吗?

我用 autoform docs 来做这个。

您为 LeaderSchema 助手使用了错误的模板。

这应该有效:

Template.addLeader.helpers({ // not Template.adminPanel.helpers
    LeaderSchema: function() {
        return Schema.LeaderSchema;
    }
});