4

我正在使用带有 AutoForm 和 Iron Router 的 Meteor。

我有一个用于插入记录的自动表单,我想在成功插入后重定向到另一个页面以查看记录。 普遍接受的方法是什么?

如果我使用标准的自动插入,例如:

{{#autoForm collection="Articles" id="articleSubmit" type="insert"}} 

我看不到如何重定向?

如果我使用这样的“方法”类型:

{{#autoForm collection="Articles" id="articleSubmit" type="method"}} 

然后我必须编写一个不是特别干燥的插入方法。

4

1 回答 1

7

表格就是表格,如果您使用type="method"thats意味着您正在Meteor.method为此使用a,并且表格将为您处理,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。

于 2015-04-07T13:12:23.963 回答