У меня есть это в моем маршрутизаторе:
Router.configure
layoutTemplate: 'layout'
loadingTemplate: 'loading'
Router.map () ->
@route 'home',
path: '/'
waitOn: ->
Meteor.subscribe('users')
Meteor.subscribe('instruments')
Meteor.subscribe('instrumentList')
data: ->
Meteor.users.find().fetch()
@route 'edit_form',
path: 'edit_profile'
waitOn: ->
Meteor.subscribe('user', Meteor.userId)
Meteor.subscribe('users')
Meteor.subscribe('instruments')
Meteor.subscribe('instrumentList')
data: ->
Meteor.user()
Router.onBeforeAction("loading")
home
— это карта GoogleMap, на которой отображаются отброшенные булавки всех пользователей в системе.
home
необходимо подписаться на всю коллекцию users
.
edit_form
— это форма для текущего пользователя, вошедшего в систему.
edit_form
нужно подписаться только на current_user
документ.
- Когда я впервые захожу на
home
, на карте отображаются все контакты каждого пользователя. - Затем я перехожу к
edit_form
, и он показывает всю информацию для текущего пользователя. - Затем я возвращаюсь обратно к карте, и она показывает только булавку для текущего пользователя.
Что тут происходит? Почему маршрут home
на шаге 3 теперь отображает только контакты для текущего пользователя, хотя я специально сказал ему waitOn
подписаться на всю коллекцию users
И использовать данные из Meteor.users.find().fetch()
, которые должны получать каждого пользователя в коллекции?