Это, вероятно, действительно простой ответ, однако я в тупике. У меня на сайте много форм. Я хотел бы уведомить пользователя, что форма обновления была сохранена.
В этом случае я создаю уникальный идентификатор, это форма вопросов и ответов, поэтому на одной странице может быть много форм вопросов. Я не уверен, как использовать 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}}