我在表格中显示创建的角色时遇到问题。我正在使用alanning:roles和aldeed:tabular。要创建表,我有:
TabularTables.RolesAdmin = new Tabular.Table({
name: "Roles",
collection: Meteor.roles,
pub:"rolesadmin",
allow: function (userId) {
return Roles.userIsInRole(userId, 'admin');
},
columns: [
{
data: "name",
title: "Role Name",
},
],
});
该出版物如下:
Meteor.publish( 'rolesadmin', function() {
return Meteor.roles.find( {}, { fields: { "name": 1 } } );
});
运行应用程序时,表格只显示“正在处理...”,因此出现错误,无法访问/查找数据?
我在服务器终端中遇到以下异常:
Exception from sub rolesadmin id 6c6x3mDzweP8MbB9A
Error: Did not check() all arguments during publisher 'rolesadmin'
如果我签入mongo db.roles.find(),则没有6c6x3mDzweP8MbB9A id的角色。这个错误指的是什么?
答案 0 :(得分:1)
要告诉Tabular使用您的自定义发布功能,请传递 发布名称作为pub选项。你的职能:
必须接受并检查三个参数:tableName,id和fields
必须发布_id在ids数组中的所有文档。
必须进行必要的安全检查
应该只发布fields对象中列出的字段,如果是> gt;提供。
也可以发布表格所需的其他数据
因此,您需要适当考虑文档中提到的这三个参数。我不确定你真的需要一个自定义的酒吧,但是,根据你发布的内容。