Глобальная коллекция метеоров закрывается для Coffeescript

Если я объявлю глобальную коллекцию, как показано ниже:

@Matches = new Meteor.Collection "Matches"

Как я могу найти последовательный способ доступа к нему в закрытии как на стороне сервера, так и на стороне клиента Метеора?

Например, ниже не работает, так как @ относится к this (которое не является пространством имен верхнего уровня в замыкании)

Meteor.publish("current-matches", ->
  return @Matches.find(round: 0)  # @Matches doesn't work since `this` is something else
)

1 ответ

Решение

Поместите определения вашей коллекции в общий каталог, чтобы они были видны как клиенту, так и серверу. Вы можете использовать их без @, Например:

Коллекции /matches.coffee

@Matches = new Meteor.Collection 'matches'

Сервер /server.coffee

Meteor.publish 'current-matches', ->
  Matches.find round: 0
Другие вопросы по тегам