渲染存储在Meteor中的Collection中的数组列表

时间:2013-03-13 01:30:40

标签: meteor

在我的User集合中,我有一个名为synonym_ids的数组。

在客户端上显示此内容的最简单方法是什么?

我尝试从服务器发布以下内容,然后从客户端订阅。但是我收到了这个错误:

Internal exception while starting subscription 0ea473b6-8be4-43ec-8a56-988409a4b58a Error: Meteor.userId can only be invoked in method calls. Use this.userId in publish functions.

#server
Meteor.publish 'synonym_ids', () ->
    if Meteor.userId()
        return Meteor.users.findOne({_id: Meteor.userId()}).synonym_ids


#client
Meteor.autosubscribe () ->
    Meteor.subscribe 'synonym_ids'

1 个答案:

答案 0 :(得分:1)

发布功能can't use Meteor.userId(),但可以使用this.userId

#server
Meteor.publish 'synonym_ids', () ->
if this.userId()
    return Meteor.users.findOne({_id: this.userId()}).synonym_ids

在模板助手中,请务必检查用户是否已登录:

#client
Template.home.synonym_ids = ->
   Meteor.user().synonym_ids  if Meteor.userId