Forms 从现有文档重新填充表单数据

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

我正试图用用户在Meteor中首次创建帐户时最初填写的数据重新填充HTML表单上的字段,以允许他们编辑信息。表单包含各种输入、选项列表和复选框。数据存储在集合中,没有问题。我在用户配置文件中有一个名为profComp的字段,它要么为真,要么为假,这取决于表单之前是否已填写。我已尝试在路线上添加if/else语句-

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,因为它将极大地帮助你通过表单。你可以找到下面的链接