【发布时间】:2016-08-11 23:12:17
【问题描述】:
这可能是一个非常简单的答案,但是,我很难过。我的网站上有很多表格。我想通知用户更新表单已保存。
在这种情况下,我正在创建一个 uniqueId,它是一个问答表单,因此一个页面上可以有许多问题表单。我不确定如何将 uniqueId 与AutoForm.addHooks(); 一起使用,我迄今为止尝试的所有内容都会创建全局自动表单钩子,这并不理想,因为它会影响网站上的所有其他表单。
Template.answers.helpers({
makeUniqueID: function () {
return "update-each-" + this._id;
},
});
var hooksObject = {
onSuccess: function(formType, result) {
var collectionId = this.docId;
Meteor.call('sendEmail',
collectionId
);
},
};
var answerForm = "update-each-" + this._id;
AutoForm.addHooks('answerForm', hooksObject);
更新
路径:answer.js
var hooksObject = {
onSuccess: function(formType, result) {
var collectionId = this.docId;
Meteor.call('sendEmail',
collectionId
);
},
};
Template.answers.onCreated(function() {
var self = this;
self.autorun(function() {
var id = FlowRouter.getParam('id');
self.subscribe('answers', id);
});
this.formId = "update-each-" + this._id;
console.log("oncreated: ", this.formId);
AutoForm.addHooks(this.formId, hooksObject, true);
});
Template.answers.helpers({
answer: function() {
return Answers.find({"userId": Meteor.userId()});
},
formId() {
/**
* expose the form id we set above to the template
**/
var test = Template.instance().formId;
console.log("test: ", test);
return Template.instance().formId;
},
});
路径:answer.html
{{#each answer}}
{{#autoForm id=formId type="update" collection="Answers" doc=this}}
{{> afQuickField name='answer'}}
<button type="submit">Save changes</button>
{{/autoForm}}
{{/each}}
【问题讨论】: