4

AutoForm & Iron Router で Meteor を使用しています。

レコードを挿入するためのオートフォームがあり、挿入が成功した後にレコードを表示するために別のページにリダイレクトしたいと考えています。 これを行う一般的に受け入れられている方法は何ですか?

次のような標準のオートフォーム挿入を使用する場合:

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

リダイレクトする方法がわかりません。

「メソッド」タイプを次のように使用する場合:

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

次に、特に DRY ではない挿入メソッドを作成する必要があります。

4

1 に答える 1

7

フォームはフォームですtype="method"。thats を使用する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 をよりよく使用する必要はありません。

于 2015-04-07T13:12:23.963 に答える