我在使用更新autoform时遇到客户端异常(下面)。我完全不知道如何调试此问题。请注意,集合中的文件创建得很好。它只是在客户端控制台抛出这个异常。如果这是一个noob-question,请道歉。
客户表格:
{{#autoForm class="editf" id="editf" collection="ServiceProviders" type="update" doc=selectedProvider}}
{{> afQuickField name="businessname"}}
{{> afQuickField name="businessdesc"}}
<button type="submit" class="btn btn-primary">Update your profile</button>
{{/autoForm}}
助手:
Template.createprovider.events = {
'submit .editf' : function(e) {
event.preventDefault();
Router.go('/createdprovider');
AutoForm.resetForm('editf');
}
};
收集钩子:
ServiceProviders.after.update(function (userId, doc) {
Meteor.call('UpdateAddressAndLocation', userId, doc);
});
异常:
Exception in delivering result of invoking '/serviceproviders/update': TypeError: Cannot read property 'reset' of undefined
at Object.autoFormResetForm [as resetForm] (http://localhost:3000/packages/aldeed_autoform.js?b2b90d28d5cc29be68358bb3c8bb8a337992a7dd:2127:26)
at autoFormActionCallback (http://localhost:3000/packages/aldeed_autoform.js?b2b90d28d5cc29be68358bb3c8bb8a337992a7dd:6494:22)
at CollectionHooks.defineAdvice.args.(anonymous function) (http://localhost:3000/packages/matb33_collection-hooks.js?6be355737d1b00b2f05a3c833db2d77cd78d8d47:419:23)
at wrappedCallbackForParsingServerErrors (http://localhost:3000/packages/aldeed_collection2.js?fdc7f0975dd1b3446ea4afd5f820cb1242a521af:455:15)
at _.each.Mongo.Collection.(anonymous function).wrappedCallback (http://localhost:3000/packages/mongo.js?3cfe0c5981c197df33036a37574850f057e934a6:621:9)
at Meteor.bindEnvironment [as _callback] (http://localhost:3000/packages/meteor.js?43b7958c1598803e94014f27f5f622b0bddc0aaf:983:22)
编辑:工作代码:
这需要与提交钩子一起放置。 this.done()
调用onSuccess。
onSuccess: function(doc, result) {
Router.go('/createdprovider');
}
答案 0 :(得分:0)
Autofrom有自己的属性....你不能使用autoform id来提交提交值。
示例:
AutoForm.hooks({
YourFormid: {
onSubmit: function (doc) {
PeopleSchema.clean(doc);
console.log("People doc with auto values", doc);
this.done();
return false;
}
}
});
这是使用钩子的正确方法,并使用“doc = this”