Сеансы Синатры - почему то, что я вкладываю, отличается от того, что я получаю? - PullRequest
0 голосов
/ 25 июня 2011

У меня объявлено следующее:

set :sessions, true

, а затем в контроллере у меня есть:

session[$session_id] = user.session_id if save_successful

, который устанавливает сеанс, а затем возвращается всервер, у меня есть:

session_id = session[$session_id]

Но когда я сравниваю то, что я первоначально храню в сеансе, у меня есть:

a878bbd83f217daabec1b160b00bdde6 (initally)
d1e6264b87ae240be5a25a7edbcc97e5688df133cada1c7ab50661ae2f752b48 (on trip back)

Почему то, что я помещаю в сеанс, отличается от того, чтоЯ вышел?и как мне сделать так же ???

Приветствия,

Луи

Ответы [ 2 ]

0 голосов
/ 27 июля 2011

Я опубликовал сообщение об ошибке на https://github.com/rack/rack/issues/197#issuecomment-1648851

Если я использую просто: id вместо: session_id, тогда это работает: ~)

0 голосов
/ 25 июня 2011

Полагаю, вы имели в виду $session_id, равное :session_id или 'session_id', переменные, начинающиеся со знака доллара, являются глобальными в Ruby (это не имя ключа, а вместо этого глобально видимая ссылка на некоторый объект ).

Хороший способ взглянуть на это - напечатать session.inspect - это ключ, который, по вашему мнению, должен быть?

...