1

如果有人问过这个问题,请接受我的道歉,我确信它有,我同样确信这是我遗漏的小事,没有正确理解。

我在本地运行以下https://autoform.meteorapp.com/updateaf

我专门使用updateaf 表单...并安装了所有必需的软件包,即accounts-passwords、accounts-ui 和accounts-base。

我的问题是如何在此界面中显示名字、姓氏和年龄字段的用户特定数据?

目前,无论我以谁的身份登录,我得到的只是每次提交。

4

1 回答 1

0

我对 updateaf 没有任何经验,但我对 Meteor 做了很多。

我假设您只想显示当前登录用户的信息并允许他们更新它?

如果是这样,我认为您希望拥有一个仅发布当前用户信息的出版物(使用Meteor.userId(),并且您可能必须将 People 对象的 ._id 链接到 Meteor userId),然后自动选择该数据。

从您提供的链接 ( https://autoform.meteorapp.com/updateaf ) 的 Javascript 部分更改了部分:

原文(只显示与 相关的东西selectedPersonId,其余的都在链接上):

Meteor.publish(null, function () {
  return People.find();
});

Template.updateaf.helpers({
  selectedPersonDoc() {
    return People.findOne(Session.get("selectedPersonId"));
  },
  isSelectedPerson() {
    return Session.equals("selectedPersonId", this._id);
  }
});

Template.updateaf.events({
  'click .person-row'() {
    Session.set("selectedPersonId", this._id);
  }
});

更改为(而不是显示所有用户并允许他们通过单击进行更改,只需返回与 Meteor 用户对应的单个用户)(您可能需要更改/删除其他一些 js 函数以摆脱“人员列表”) :

Meteor.publish(null, function () {
  return People.findOne({ _id: Meteor.userId() );
});

Template.updateaf.helpers({
  selectedPersonDoc() {
    return People.findOne({ _id: Meteor.userId() );
  }
});

如果您有任何问题,请告诉我,希望对您有所帮助。

如果需要,可以添加一些其他教程: https ://guide.meteor.com/data-loading.html https://themeteorchef.com/tutorials/publication-and-subscription-patterns

于 2018-08-03T17:01:47.930 回答