MeteorJS更新AutoForm没有加载doc

时间:2015-12-19 13:54:58

标签: meteor

我有一个带有更新Autoform的模板:

<template name = "editLocationPage">
    <div class="flow-text">
      {{#if Template.subscriptionsReady}}
      <div>
      <br>
      {{#autoForm collection="Locations" doc=currentDoc id="editLocationPage" type="update"}}
         <fieldset>
           {{testDoc}}
           <legend>Edit Location / Asset</legend>
           {{> afQuickField name='id'}}
           {{> afQuickField name='text'}}
           {{> afQuickField name='description' rows=3}}
           {{> afQuickField name='type'}}
           {{> afQuickField name='parent'}}
         </fieldset>
         <button type="submit" class="btn waves-effect waves-light">Submit</button>
         <button type="reset" class="btn waves-effect waves-light red">Reset</button>
       {{/autoForm}}
     </div>
     {{/if}}
    </div>
</template>

一些帮助者订阅并将文档传递给模板:

Template.editLocationPage.onCreated(function() {
  var self = this;
   self.autorun(function() {
     self.subscribe('singleLocation', Session.get("idTreeView").toString());
   });
});

Template.editLocationPage.helpers({
  currentDoc: function() {
    return Locations.find({"id":Session.get("idTreeView").toString()}).fetch()[0];
  }
});

架构:

// Data subset subscribed to on client
Meteor.publish('locations', function() {
  return Locations.find({}, {fields: {
    text: true,
    id: true,
    type:true,
    parent:true
  }});
});

Meteor.publish('singleLocation', function(locationId) {
  return Locations.find({id:locationId});
});

文档正常(findOne返回有效的文档),但表单不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我刚发现了这个问题。我需要添加架构:

{{#autoForm schema=locationFormSchema id="editLocationPage" type="update" collection=Locations doc=currentDoc}}

带着帮手:

Template.editLocationPage.helpers({
  currentDoc: function() {
    return Locations.findOne({"id":Session.get("idTreeView").toString()});
  },
  locationFormSchema: function() {
    return Schema.locations;
  }
});