Wie fülle ich ein Dropdown-Feld mit Datensätzen/Dokumenten, die vom angemeldeten Benutzer erstellt wurden? Ich habe eine Sammlung, die viele Benutzer Schulen erstellen können. Ich möchte, dass wenn ein Benutzer mehr als eine Schule erstellt hat, das Drop-down mit der Anzahl der Schulen angezeigt wird. Wenn es nur eines ist, sollte das _id der Schule einfach in ein verstecktes Feld geleitet werden.Popup-Dropdown basierend auf den vom Benutzer erstellten Datensätzen
Dies ist die Schule Sammlung:
if (Meteor.isServer) {
Meteor.methods({
SchoolRegister: function (newschoolname, newschoolmotto, newschholvision, sellschool, schooltype,
schoolfeerange, schoolcurriculum) {
if (!Meteor.userId()) {
throw new Meteor.Error('Not authorized', 'You must be logged in to add a new school!');
return false;
}else{
var regUsername = Meteor.user().username;
var year = new Date().getFullYear();
var month = new Date().getMonth() + 1;
var day = new Date().getDate();
var date = (month +"/" +day +"/" +year).toString();
var schoolId = NewSchoolDB.insert({
newschoolnamevar: newschoolname,
newschoolmottovar: newschoolmotto,
newschholvisionvar: newschholvision,
sellschoolvar: sellschool,
schooltypevar: schooltype,
schoolfeerangevar: schoolfeerange,
schoolcurriculumvar: schoolcurriculum,
createdAt: new Date(),
author: regUsername,
authorId: Meteor.userId()
});
return schoolId;
}
},
UserRecords: function() {
if (!Meteor.userId()) {
throw new Meteor.Error('Not authorized', 'You must be logged in to add a new school!');
return false;
}else{
//var UserDocuments = NewSchoolDB.find({authorId: Meteor.userId()}).count();
return NewSchoolDB.find({authorId: Meteor.userId()});
}
}
});
}
Ich verwende diese die Methode aufzurufen:
Template.SchoolContactLayout.helpers({
UsersDocuments: function() {
return Meteor.call('UserRecords');
console.log(Meteor.call('UserRecords'));
}
});
Dies ist die Template-Datei
{{# if UsersDocuments == 1 }}
<input type="hidden" name="schoolId" value="{{ UsersDocuments._id }}">
{{else}}
<div class="form-group">
<select class="form-control" name="schoolnames" id="schoolnames" required style="color: black; width: 100%; font-family: 'candara'">
<option value="{{UsersDocuments._id}}">{{UsersDocuments.newschoolnamevar}}</option>
</select>
</div>
{{/if}}
Alles in allem, Es wurde kein Fehler zurückgegeben und es hat nicht funktioniert. Bitte, Experten, bitte helfen.