我有一个学生用户列表和课程集合。当我发布学生列表时,我希望它显示他们参加的课程。我的代码目前显示每个学生在每个学生下面参加的所有课程,而不是与个别学生相关的课程。
如何让它在正确的版本下显示正确的类别。
路径:classes.js
Template.classes.helpers({
studentList: ()=> {
return Meteor.users.find({_id: { $ne: Meteor.userId() }});
},
classes: ()=> {
return Classes.find({_id: { $ne: Meteor.userId() }});
},
});
路径:classes.html
{{#each studentList}}
{{profile.firstName}}
{{#each classes}}
{{class}}
{{/each}}
{{/each}}
路径:Classes.js
Schemas.Classes = new SimpleSchema({
class: {
type: String
},
teacherUserId: {
type: String,
autoValue: function() {
return this.userId
},
autoform: {
type: "hidden"
}
},
studentUserId: {
type: String,
optional: true,
autoform: {
type: "hidden"
}
}
});
答案 0 :(得分:1)
上面的代码表示:"查找所有类的ID不等于当前用户ID的类。" 我认为你想要:"查找当前用户的id在学生列表中的所有课程。"
假设类有一个students
字段,这是一个用户ID数组,您可以这样做:
return Classes.find({students: Meteor.userId()});
答案 1 :(得分:1)
感谢大家的投入,我的问题解决了!蒂姆击中了头部的钉子。对于那些遇到类似问题的人,请查看下面的代码。我希望它有所帮助。再次感谢蒂姆。
路径:classes.js
Template.classes.helpers({
classes: ()=> {
return JobOffers.findOne({candidateUserId: this._id});
},
});
路径:classes.html
{{#each studentList}}
{{profile.firstName}}
{{#with classes}}
{{class}}
{{/with}}
{{/each}}
答案 2 :(得分:0)
当您定义this
时,您告诉计算机的是:
{{1}}
这不是你想要问你的工人的原因。你想问问你的工人:
{{1}}
在没有真正尝试为您编写的情况下,可能与您在helper function
中某处使用{{1}}有关