Meteor:将字段的自动值设置为另一个配置文件用户 sId
Posted
技术标签:
【中文标题】Meteor:将字段的自动值设置为另一个配置文件用户 sId【英文标题】:Meteor: Set autoValue of field to anther profiles usersId 【发布时间】:2016-05-07 20:49:21 【问题描述】:我是 Meteor 和编程的新手,如果这没有意义或者您需要更多信息,请告诉我。
我正在加载另一个用户的个人资料页面。所以我有 2 个用户 ID; this.userId 和其他用户 ID。我想在执行操作时使用 autoValue 来保存两个 userId。即使我可以在 html 页面上显示它,我也不知道如何设置其他用户 ID。
路径:schema.js
Schemas.class = new SimpleSchema(
Title:
type: String,
optional: true
,
teacherProfile:
type: String,
optional: true,
autoValue: function()
return this.userId
,
autoform:
type: "hidden"
,
studentProfileId:
type: String,
optional: true,
type: String,
autoform:
defaultValue: "studentProfileId",
type: "hidden"
);
路径:profile.js
Template.teacherProfile.helpers(
studentProfile: ()=>
var id = FlowRouter.getParam('id');
return Meteor.users.findOne(_id: id);
);
【问题讨论】:
我认为您不能使用自动值来设置它,因为 SimpleSchema 没有查看 DOM 或模板数据上下文 afaik。您应该在事件处理程序中设置otherUserProfileId
,或者更好,只需将隐藏字段值设置为它。
谢谢米歇尔。请告诉我如何设置隐藏字段。
在您的自动表单布局中使用defaultValue
请参阅github.com/aldeed/meteor-autoform#affieldinput
谢谢@michel。当我使用 defaultValue 时,我仍然不确定如何访问其他用户 ID。我尝试从 id 引用 id,但这不起作用。有什么建议吗?
如何将其他用户带入模板?
【参考方案1】:
这是我的解决方案,它似乎有效。感谢所有帮助过的人。
路径:schema.js
Schemas.class = new SimpleSchema(
Title:
type: String,
optional: true
,
teacherProfile:
type: String,
optional: true,
autoValue: function()
return this.userId
,
autoform:
type: "hidden"
,
studentProfileId:
type: String,
optional: true,
autoform:
type: "hidden"
);
路径:profile.js
Template.profile.helpers(
studentProfile: ()=>
var id = FlowRouter.getParam('id');
return Meteor.users.findOne(_id: id);
,
studentProfileId: () =>
return FlowRouter.getParam('id');
);
路径:profile.html
<template name="profile">
#autoForm collection="Jobs" id="Offer" type="insert"
> afQuickField name='Title'
> afQuickField name='studentUserId' value=studentProfileId
<button type="submit" class="btn btn-primary">Insert</button>
/autoForm
</template>
【讨论】:
以上是关于Meteor:将字段的自动值设置为另一个配置文件用户 sId的主要内容,如果未能解决你的问题,请参考以下文章
姜戈初学者。如何更新所有对象并将某个字段设置为另一个字段的函数值?
在Java Spring中将一个bean的值设置为另一个bean