I'm using Meteor with AutoForm & Iron Router.
I have an autoform for inserting a record, and I want to redirect to another page to view the record after a successful insert. What's the generally accepted way to do this?
If I use the standard autoform insert like:
{{#autoForm collection="Articles" id="articleSubmit" type="insert"}}
I can't see how I can redirect?
If I use the 'method' type like this:
{{#autoForm collection="Articles" id="articleSubmit" type="method"}}
then I have to write an insert method which is not particularly DRY.
A form is a form, if you use the type="method" thats means you are using a Meteor.method for this, and the form will handle for you, the Meteor.call
Now if you want to do some Router.go(), you will need to write some JS code, you can use the hooks, wich come with the autoform package, like this for example
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;
}
}
});
So you don't need a common 'submit #articleSubmit' use the auto forms API better.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With