2015-04-27 2 views
7

Я использую Meteor с AutoForm & Iron Router.Маршрут к новым данным, представленным Meteor autoform с использованием железного маршрутизатора?

У меня есть автоформат для вставки данных, и я хочу перенаправить на страницу данных, которые я добавил после успешной вставки. Как я должен это делать?

Вот для:

{{#autoForm collection="Products" id="add" type="insert"}} 
    <h4 class="ui dividing header">Products Information</h4> 
     {{> afQuickField name='name'}} 
     {{> afQuickField name='info'}} 
    <button type="submit" class="ui button">Insert</button> 
{{/autoForm}} 

Iron Router:

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

Callbacks/Крючки

AutoForm.hooks({ 
    add: { 
    onSuccess: function(doc) { 
     Router.go('page', ???); 
    } 
    } 
}); 
+0

HTTP: // StackOverflow .com/вопросы/26 851878/meteor-ironrouter-pass-multiple-properties-on-router-go –

ответ

6

Крюк AutoForm возвратит вас DocId. См: https://github.com/aldeed/meteor-autoform#callbackshooks

this.docId: Атрибут _id в доке, прикрепленном к форме, если есть один, или для типа = «» вставки формы, то _id вновь вставленного дока, если он был вставлен.

Так используйте:

Router.go('page',{_id: this.docId}); 
0

Согласно документу на GitHub, подписи изменились: не забудьте объявить формы или неопределенные применять крючки.

для всех форм

AutoForm.addHooks(null,{ 
    onSuccess: function(formType, result) { 
     Router.go('page',{_id: this.docId}); 
    } 
}); 

для специфической формы

AutoForm.addHooks(['yourForm'],{ 
    onSuccess: function(formType, result) { 
     Router.go('page',{_id: this.docId}); 
    } 
}); 

Лучше всего, чтобы проверить до даты подписи: https://github.com/aldeed/meteor-autoform#callbackshooks

0
onSuccess: function(formType, result) { 
    Router.go(
     ['adminDashboard', result, 'Edit'].join(''), 
     {_id: this.docId} 
    ); 
}, 
+1

Хотя этот фрагмент кода может быть решением, [включая объяснение] (// meta.stackexchange.com/questions/114762/explaining-entirely- На основе кода) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. – xskxzr

 Смежные вопросы

  • Нет связанных вопросов^_^