使用 meteor-autoform 和 iron:router 的动态路由问题
Issues with dynamic routing using meteor-autoform and iron:router
我想做的是创建一个带有 meteor-autoform 的表单,它将在提交时将用户重定向到新生成的路由。我的想法是我可以获取提交的 _id 并将其用于 iron:router 参数。到目前为止,我所看到的如下:
创建表单
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 );
路由
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});
}
});
然后我只有平均的发布和查找调用。我的问题是我不确定如何在提交时执行重定向,我不确定如何在新生成的路由上显示表单结果。
如有任何帮助,我们将不胜感激。
我可以通过添加一个 autoform.hook 并稍微更改一下路由来做到这一点。
Autoform 挂钩:
AutoForm.addHooks('insertSubmit', {
onSuccess: function(doc) {
Router.go('formDisplay',{_id: this.docId});
}
})
路由:
Router.route('/submit/:_id', {
name: 'submitLayout',
data: function() { return Products.findOne(this.params._id);}
});
我从这个 post 得到了这个信息:
我想做的是创建一个带有 meteor-autoform 的表单,它将在提交时将用户重定向到新生成的路由。我的想法是我可以获取提交的 _id 并将其用于 iron:router 参数。到目前为止,我所看到的如下:
创建表单
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 );
路由
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});
}
});
然后我只有平均的发布和查找调用。我的问题是我不确定如何在提交时执行重定向,我不确定如何在新生成的路由上显示表单结果。
如有任何帮助,我们将不胜感激。
我可以通过添加一个 autoform.hook 并稍微更改一下路由来做到这一点。
Autoform 挂钩:
AutoForm.addHooks('insertSubmit', {
onSuccess: function(doc) {
Router.go('formDisplay',{_id: this.docId});
}
})
路由:
Router.route('/submit/:_id', {
name: 'submitLayout',
data: function() { return Products.findOne(this.params._id);}
});
我从这个 post 得到了这个信息: