我正在使用autoform创建表格。我有下面的模板,它在提交表单时正确地将数据插入到集合中。我想要做的是,当插入“ContactDetails”集合成功完成后,将记录插入到另一个集合中。
<template name="contactDetailsForm">
{{#if submitted}}
{{> quickForm collection="ContactDetails" omitFields="createdBy" doc=editingDoc id="contactDetailsForm" type="update"}}
{{else}}
{{> quickForm collection="ContactDetails" omitFields="createdBy" id="contactDetailsForm" type="insert"}}
{{/if}}
</template>
据我所知,我需要添加一个钩子(Hook)。我真的不确定我在做什么。我想它会看起来像这样:
AutoForm.addHooks(['contactDetailsForm'], {
after: {
insert: function(error, result) {
if (error) {
console.log("Insert Error:", error);
} else {
console.log("Insert Result:", result);
// NOW DO INSERT INTO OTHER COLLECTION
}
}
}
});
谁能告诉我如何在另一个集合中成功完成插入后将记录插入到另一个集合中?
对此的任何建议/帮助/示例将不胜感激。
最佳答案
matb33:collection-hooks
package 是创建此类钩子(Hook)的标准方法。首先添加它
meteor add matb33:collection-hooks
然后创建你的钩子(Hook):
ContactDetails.after.insert(function(userId, doc) {
console.log("Inserted:", this._id);
...
});
关于Meteor:如何创建后插入 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26022897/