对象#<对象>没有方法'用户'
Object #<Object> has no method 'User'
每个人。我的代码和Meteor 0.9.4 有问题
这是我的代码:
服务器/publications.js
Meteor.publish('getUsers', function () {
var loggedInUser = Meteor.User();
if (Roles.userIsInRole(loggedInUser, ['admin'])) {
return Meteor.users.find({}, {fields: {
_id: 1,
emails: 1,
roles: 1
}});
}
this.stop();
return;
});
Lib/router.js
Router.map(function() {
this.route('dashboardUsers', {
layoutTemplate: 'dashboardLayout',
path: "/dashboard/users",
waitOn: function() {
return Meteor.subscribe('getUsers');
}
});
});
当我运行流星应用程序时,我有以下错误:
=> App running at: http://localhost:3000/
I20141019-18:21:50.827(4)? Exception from sub 8CRiG3Jmdv4mohPhd TypeError: Object #<Object> has no method 'User'
I20141019-18:21:50.949(4)? at null._handler (app/server/publications.js:3:31)
I20141019-18:21:50.950(4)? at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1594)
I20141019-18:21:50.950(4)? at _.extend._runHandler (packages/ddp/livedata_server.js:943)
I20141019-18:21:50.950(4)? at _.extend._startSubscription (packages/ddp/livedata_server.js:769)
I20141019-18:21:50.951(4)? at _.extend.protocol_handlers.sub (packages/ddp/livedata_server.js:582)
I20141019-18:21:50.951(4)? at packages/ddp/livedata_server.js:546
如果你查看Meteor.user的文档,你会发现它在的任何地方都有效,发布函数除外。你需要做:
var loggedInUser = Meteor.users.findOne(this.userId);
您得到的错误是因为Meteor.User
中的大写'u',它应该是Meteor.user
。
但是,正如David Weldon所指出的,您需要在发布函数中使用Meteor.users.findOne(this.userId)
。
对于其他在尝试访问Meteor.user()
时遇到错误Object #<Object> has no method 'user'
的人,请确保您拥有accounts基本包。
相关文章:
- 无法在Meteor/MongoDB中返回当前用户对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用地理坐标,对更靠近用户的对象进行排序'的位置
- 将URL字符串${userid}替换为javascript对象中的实际用户id
- 我如何使用D3来强制用户点击g.node对象内部的圆形对象
- 使用javascript(ajax,jquery?)从表中删除对象(用户等)
- 将Javascript对象存储在Wordpress用户数据库中
- 如何从帖子对象添加其他信息以在护照中注册用户
- 用户如何获取两个时间戳之间的对象
- 如何通过向用户推送模式引用来更新用户对象's数组字段
- 如何在每次用户填充3个输入时在数组内自动创建对象
- 如何使用用户定义的相等函数在Javascript中创建一组用户定义的对象
- 我可以在HTML5画布中创建图形形状对象吗?以及当用户将鼠标悬停在形状上时如何将光标显示为指针
- 如何让用户调整“;joint.shapes.devs.Atomic;对象
- 使用firebase在用户注册对象上设置密钥
- 如何解析用户对象以返回屏幕名称并继续下一步操作
- Facebook已连接但我的用户是一个空对象
- 正在获取[对象,对象],而不是整个用户数据.这是什么意思
- 在Vanilla Javascript中使用窗体中的对象原型创建多个用户
- AngularFire $createUser 的承诺不返回包含用户数据的对象