在带有 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 更好。