2016-07-29 9 views
0

Was ich versuche, ist ein Formular mit Meteor-Autoform zu erstellen, die den Benutzer auf eine neu erstellte Route beim Senden umleiten wird. Mein Denkprozess ist, dass ich die Übermittlungen _id nehmen und es für einen Eisen: Router-Parameter verwenden kann. Was ich bisher haben sieht wie folgt:Probleme mit dynamischem Routing mit Meteor-Autoform und Eisen: Router

Erstellung von Formular

Submits = new Meteor.Collection('Submits'); 

Submits.allow({ 
    insert: function(username, doc){ 
    return !!username; 
    } 
}); 

SubmitSchema = new SimpleSchema({ 
    title: { 
    type: String, 
    label: "Title" 
    }, 
    subject:{ 
    type: String, 
    label: "Subject" 
    }, 
    summary:{ 
    type: String, 
    label: "Summary" 
    }, 
    author:{ 
    type: String, 
    label: "Author", 
    autoValue: function() { 
     return this.userId 
    }, 
    autoform: { 
    type: "hidden" 
    } 
}, 
    createdAt: { 
    type: Date, 
    label: "Created At", 
    autoValue: function(){ 
     return new Date() 
    }, 
    autoform: { 
     type: "hidden" 
    } 
    } 
}); 

Submits.attachSchema(SubmitSchema); 

Routing

Router.route('/submit', { 
    layoutTemplate: 'submitLayout', 
    waitOn: function() { return Meteor.subscribe("Submits"); }, 
    loadingTemplate: 'loading' 
}); 

Router.route('/submit/:_id', { 
    name: 'formDisplay', 
    data: function() { 
    return Submits.findOne({this.params._id}); 
    } 
}); 

Und dann habe ich nur die durchschnittliche veröffentlichen und Anrufe finden. Meine Probleme sind, ich bin mir nicht sicher, wie man die Weiterleitung bei der Übermittlung durchführt, und ich bin nicht sicher, wie man die Form Ergebnisse auf der neu erzeugten Route anzeigt.

Jede Hilfe wäre willkommen.

Antwort

0

Ich konnte es tun, indem ich ein Autoform.hook hinzufügte und mein Routing etwas änderte.

Autoform Haken:

AutoForm.addHooks('insertSubmit', { 
    onSuccess: function(doc) { 
    Router.go('formDisplay',{_id: this.docId}); 
    } 
}) 

Routing:

Router.route('/submit/:_id', { 
    name: 'submitLayout', 
    data: function() { return Products.findOne(this.params._id);} 
}); 

ich diese Informationen von diesem Posten bekam:

Route to the new data submitted by Meteor autoform using iron router?

Verwandte Themen