在带有 AutoForm 和 Iron Router 的 Meteor 上检查插入成功后重定向提交表单的标准模式?
Standard pattern to redirect a submit form after checking the insert was successful, on Meteor with AutoForm & Iron Router?
我将 Meteor 与 AutoForm 和 Iron Router 一起使用。
我有一个插入记录的自动表单,我想在插入成功后重定向到另一个页面查看记录。 普遍接受的方法是什么?
如果我使用标准自动表单插入,例如:
{{#autoForm collection="Articles" id="articleSubmit" type="insert"}}
我看不到如何重定向?
如果我像这样使用 'method' 类型:
{{#autoForm collection="Articles" id="articleSubmit" type="method"}}
然后我必须写一个不是特别DRY的插入方法。
表格就是表格,如果你使用type="method"
那就意味着你正在使用Meteor.method
,表格会为你处理,Meteor.call
现在如果你想做一些事情Router.go()
,你需要写一些JS代码,你可以使用autoform包自带的钩子,比如这样
Articles.hooks({
contactForm: {
onSubmit: function (insertDoc, updateDoc, currentDoc) {
if (someHandler(insertDoc)) {
this.done();
Articles.clean(doc); / you can do more logic here, cleaning the form.
Router.go('thePath');
} else {
this.done(new Error("Submission failed"));
}
return false;
}
}
});
所以你不需要通用的 'submit #articleSubmit'
使用自动表单 API 更好。
我将 Meteor 与 AutoForm 和 Iron Router 一起使用。
我有一个插入记录的自动表单,我想在插入成功后重定向到另一个页面查看记录。 普遍接受的方法是什么?
如果我使用标准自动表单插入,例如:
{{#autoForm collection="Articles" id="articleSubmit" type="insert"}}
我看不到如何重定向?
如果我像这样使用 'method' 类型:
{{#autoForm collection="Articles" id="articleSubmit" type="method"}}
然后我必须写一个不是特别DRY的插入方法。
表格就是表格,如果你使用type="method"
那就意味着你正在使用Meteor.method
,表格会为你处理,Meteor.call
现在如果你想做一些事情Router.go()
,你需要写一些JS代码,你可以使用autoform包自带的钩子,比如这样
Articles.hooks({
contactForm: {
onSubmit: function (insertDoc, updateDoc, currentDoc) {
if (someHandler(insertDoc)) {
this.done();
Articles.clean(doc); / you can do more logic here, cleaning the form.
Router.go('thePath');
} else {
this.done(new Error("Submission failed"));
}
return false;
}
}
});
所以你不需要通用的 'submit #articleSubmit'
使用自动表单 API 更好。