Это, наверное, очень простой ответ, однако я в тупике. У меня на моем сайте много форм. Я хотел бы уведомить пользователя о том, что форма обновления сохранена.UniqueId for autoform hook
В этом случае я создаю uniqueId, это форма Q &. На одной странице может быть много форм вопросов. Я не уверен, как использовать 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);
UPDATE
Путь: 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}}
Спасибо большое за это. Отлично работает! – bp123
Извините. 'this.formId =" update-each- "+ this.data._id;' похоже, не создает уникальный идентификатор для форм обновления. Неужели я не понимаю этого? – bp123
Это предполагает, что поле '_id' передается в ваш шаблон как часть объекта данных, например, если родительский шаблон имел ссылку' doc' в Mongo-документ для этой формы, то вы бы назвали ваш шаблон ответов, как поэтому: '{{> отвечает doc}}' 'doc' просто должен быть объект, содержащий поле _id, вот код, который я использовал при тестировании моего примера: ' Template.body.helpers ({ doc() { return {_id: 'asd12312'}; } }); ' Вы должны изменить это, чтобы использовать поле' this._id', которое вы использовали в исходном примере. Вы не указали, где вы извлекаете это поле. –