2016-02-11 1 views
0

Метеор Вопрос: какой лучший способ реализовать реальные сеансы? У меня есть обычная страница входа со статистикой. Нет проблем.Метеорные маршруты и сеансы -> Как координировать

Теперь я хочу, чтобы люди могли регистрироваться с определенными адресами; предположим, что они позже hit a url http://localhost:3000/checkin/area1

Как я могу координировать это с их именем?

У меня есть маршрут для фиксирования:

Router.route('/checkin/:_id', function() { 
    var req = this.request; 
    var res = this.response; 

    this.userId = 'steve'; //TODO: Need way to pull userId 
    if (!this.userId) { 
    res.end('Please login first'); 
    } else { 
    //Verify correct area 
    //Verify that haven't check before 
    var lastCheckin = checkins.find({ user: this.userId, visited: this.params._id }); 
    if (lastCheckin.count() == 0) { 
     //we haven't checkedin yet 
     checkins.insert({ user: this.userId, visited: this.params._id, createdAt: new Date() }) 
     res.end('Checkin '+this.userId+' for '+this.params._id); 
    } else { 
     console.log('already checked in '+lastCheckin.createdAt); 
     res.end(this.userId+' already visited '+this.params._id); 
    } 
    } 
}, {where: 'server'}); 

вещей, я попытался:

  • Persistent сессия: Но это не работает, потому что запрос не приходит с главной страницы, поэтому нет никакой переменной сеанса.
  • Вытащить файл cookie в запросе (поскольку постоянная сессия, похоже, 1). Первоначальный вход не имеет объекта запроса, поэтому я не знаю, где его получить.
  • Другие (ситуации с различной ситуацией) показали маршрут Meteor.user() внутри маршрута, но программное обеспечение жалуется, что оно может использоваться только внутри метода. Что можно использовать внутри маршрута?

Что еще я могу попробовать?

Спасибо вам за помощь.

ответ

0

Хорошо, я не уверен, что это поможет точно, но.

Если вы на/Моей странице, то есть событие, которое работает:

Router.go('/yourPage'); 
Session.set('yourVariable', "yourValue"); 

Вы сможете получить доступ к переменной сессии (yourVariable) в/yourPage (и код yourPage в).

+0

Куда идет Session.set? В настоящее время я уже установил их при входе в систему. Но для примера/yourPage, когда он включается в запрос? Если я смотрю на страницу, возвращенную из/checkin, там нет javascript или что-то еще, поэтому на клиентской стороне ничего не проверяется на какие-либо сеансы. Спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^