Meteor-autoform cannot display shape: Unable to read property schema undefined

I am trying to create an autoform with a type method

in my Meteor application.

Client side 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>

      

Client side JS:

Template.adminPanel.helpers({

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

      

The schema in lib:

Schema = {};

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

      

Server method:

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

      

In the view where I want to display the form, the form fields are not displayed and I am getting this error:

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

      

When I remove the form fields from the html file, I get no errors. What could be the reason? Am I doing something wrong?

I do this with an automatic document form .

+3


source to share


1 answer


You used the wrong template for your helper LeaderSchema

.

This should work:



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

      

+3


source







All Articles