根据登录的用户创建的记录填充下拉列表



如何使用登录用户创建的记录/文档填充下拉列表?我有一个集合,许多用户可以创建学校。我希望如果用户创建了多个学校,则下拉列表应显示填充了学校数量。如果只有一个,学校的_id应该传递到一个隐藏的领域。

这是学校收藏:

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()});
            }
        }
    });
}

我正在使用它来调用该方法:

Template.SchoolContactLayout.helpers({
    UsersDocuments: function () {
        return Meteor.call('UserRecords');
        console.log(Meteor.call('UserRecords'));
    }
});

这是模板文件

{{# 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}}

总而言之,没有返回任何错误,也没有工作。

Meteor.call('UserRecords'( 是异步函数,您必须在回调中等待它并使用会话。

Meteor.call('UserRecords', function(err,res){
// res will be your return value you can set your session here
});

或者您可以使用包,例如您可以搜索气氛中的反应式方法

相关内容

  • 没有找到相关文章

最新更新