Forms 从现有文档重新填充表单数据
我正试图用用户在Meteor中首次创建帐户时最初填写的数据重新填充HTML表单上的字段,以允许他们编辑信息。表单包含各种输入、选项列表和复选框。数据存储在集合中,没有问题。我在用户配置文件中有一个名为profComp的字段,它要么为真,要么为假,这取决于表单之前是否已填写。我已尝试在路线上添加if/else语句-Forms 从现有文档重新填充表单数据,forms,meteor,iron-router,Forms,Meteor,Iron Router,我正试图用用户在Meteor中首次创建帐户时最初填写的数据重新填充HTML表单上的字段,以允许他们编辑信息。表单包含各种输入、选项列表和复选框。数据存储在集合中,没有问题。我在用户配置文件中有一个名为profComp的字段,它要么为真,要么为假,这取决于表单之前是否已填写。我已尝试在路线上添加if/else语句- Router.route("/edit_dashboard", function(){ if(Meteor.user().profile.profComp) { thi
Router.route("/edit_dashboard", function(){
if(Meteor.user().profile.profComp)
{
this.render("change_edit_dashboard");
}
else
{
this.render('edit_dashboard');
}
change_edit_仪表板是用户最初填写的html表单的副本,我已向change_edit_仪表板模板添加了一个帮助器,以从集合中检索用户信息文档
Template.change_edit_dashboard.helpers({
formData: function()
{
return Base.findOne({_id: Session.get('baseId')})
}
});
并试图在change_edit_仪表板中使用空格键{{{{with}}调用文档的上下文
<template name="change_edit_dashboard">
{{#with formData}}
----> form code <------
{{/with}}
</template>
{{#带formData}}
---->表单代码由于您没有向我们提供表单代码,我假设您正确地为输入提供了
属性,然后继续。
据我所见,您正试图从Meteor中最容易出错的对象之一,Meteor.users
获取数据,当您想要从收集对象检索数据时。关于您的问题,您可以在下面找到一些可能性:
Meteor.user().profile.profComp
不存在。当您操作Meteor.users时,您必须采取一些额外的步骤才能访问存储在那里的数据。例如,如果我的Meteor.users
模型的根目录下有一个mySuperField
字段,我必须在服务器端发布它,以便在客户端订阅和检索它。您可以通过调用Meteor.user()来快速检查它,并查看它是否存在
- 如果在服务器端有一个没有错误的空白屏幕,这通常是因为您破坏了模板负载。检查web控制台顶部的错误消息,确保在服务器上执行的文件中或Meteor加载.html文件之前,没有将模板帮助程序放入文件中
我不太清楚为什么你需要2个编辑模板,但是如果只是一个新的VS编辑,你应该考虑使用简单模式的AutoFrm,因为它将极大地帮助你通过表单。你可以找到下面的链接