Нахождение идентификатора сессии в рельсах 3 - PullRequest
59 голосов
/ 28 января 2011

Как я могу получить идентификатор текущей сессии в рельсах 3?

Я безуспешно пробовал следующее:

session[:session_id]
session['session_id']
session[:id]
session['id']
session.id
session.session_id

Ответы [ 4 ]

136 голосов
/ 28 января 2011

Вы пробовали следующее?

request.session_options[:id]
8 голосов
/ 03 августа 2012

Также возвращает идентификатор сеанса:

session[:session_id]
3 голосов
/ 10 февраля 2016

Если вам нужно просмотреть данные, записанные в хранилище сеансов для данного идентификатора сеанса из консоли Rails, вы можете:

a = Rails.application.config.session_store.new(app, Rails.application.config.session_options)
a.class # => ActionDispatch::Session::RedisStore
a.get_session(ENV, '07319b2485be9ac4850664cd47cede38')


# or a.find_session(ENV, '07319b2485be9ac4850664cd47cede38')

app и ENV установлены, когда вы запускаете консоль rails, не нужно устанавливать эти

вы можете получить session_id через какой-нибудь плагин для браузера, работающий с куки или (инспектор куки, менеджер куки, ...)

2 голосов
/ 28 января 2011

Я не могу проверить это прямо сейчас, но, насколько мне известно, переменная идентификатора сеанса изменилась с 'id' на 'session_id' на Rails 3, вы пробовали это?Надеюсь, это работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...