Я делаю службу, в которой нет учетных записей пользователей, и я хочу ограничить, какую страницу я посещаю.Метеор: ненадежная переменная сеанса?
Итак, каждая страница является «ящиком», и на каждой «коробке» у меня есть куча «файлов».
Я опубликовал соответствующую информацию в сервере/publications.coffee
Meteor.publish 'files', (boxId)->
console.log boxId
return Files.find({boxId:boxId})
Мой файл для «окна» имеет подписку на ручку:
@filesHandle = Meteor.subscribe 'files', Session.get('currentBoxId')
И currentBoxId хранится в сессии переменная.
Вот сумасшедшая часть: я ожидаю, что это сработает, и это происходит в первый раз, когда я запускаю сервер. Консоль.log в первом бите кода печатает правильный идентификатор. Затем, внезапно, консольный журнал неожиданно начинает возвращать «нуль», даже когда я console.log сеанса var в консоли браузера, он возвращается правильно.
Я чувствую, что здесь есть какая-то проблема асинхронности загрузки, но я понятия не имею, что происходит.
Любые подсказки?
Имейте в виду Метеор Session не сохраняется между обновления страницы, не ожидают, что стоимость будет сохранена, если вы Ctrl + R в браузере. См. Http://projectricochet.com/blog/meteor-js-performance#.UlHsaBCc5pg –
Святое дерьмо, вы правы. Внезапно я понятия не имею, почему код, который я написал, работает. Когда я обновляюсь, переменная сеанса не сохраняется, но соответствующие данные все еще извлекаются! Вы знаете, как это возможно? Вот соответствующий код ... Template.boxPage.created =() -> @filesHandle = файлы Meteor.subscribe, Session.get ('currentBoxId') – Oliver
Подождите, после дальнейшего изучения кажется, что моя переменная сеанса делает сохраняйте обновления страниц. Метеорит изменил способ обработки сеансов? – Oliver