2015-04-27 25 views
7

Meteor with AutoForm & Demir Router'ı kullanıyorum.Meteor autoform tarafından sunulan yeni verilere yönlendirici, yönlendirici?

Veri eklemek için bir otomatik formum var ve başarılı bir ekleme işleminden sonra eklediğim verilerin sayfasına yeniden yönlendirmek istiyorum. Nasıl yapmalıyım?

{{#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}} 

Demir Router:

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

Callbacks/Hooks'un

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

http: Belirli form için her türlü

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

için

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

En güncel imzaları kadar kontrol etmektir // stackoverflow .com/sorular/26 851878/meteor-ironrouter-geçiren-çoklu-özellikleri-yönlendirici-go –

cevap

6

AutoForm kanca size docid dönecektir İşte

için olduğunu. Bakınız: https://github.com/aldeed/meteor-autoform#callbackshooks

this.docId: forma bağlı dokümanın _ID özelliği, ise bir tane ya da bir tür için = formu 'eklemek', yeni eklenen dokümanın _ID, eğer bir tane takılmışsa.

Yani kullanın:

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

Bu kod parçacığı çözüm olabilir, [bir açıklama dahil] (// meta.stackexchange.com/questions/114762/explaining-entirely-‌ Kod tabanlı cevaplar) gönderinin kalitesini iyileştirmeye gerçekten yardımcı olur. Gelecekte okuyucular için soruyu cevapladığınızı ve bu kişilerin kod önerilerinizin nedenini bilmeyebileceğini unutmayın. – xskxzr