Глобальная коллекция метеоров закрывается для 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