1

私の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'
4

1 に答える 1

1

公開関数は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
于 2013-03-13T08:16:50.660 に答える