Austin
Austin

Reputation: 3890

Finding the session id in rails 3

How can I get the current session id in rails 3?

I've tried the following with no luck:

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

Upvotes: 65

Views: 43663

Answers (5)

estani
estani

Reputation: 26457

Rails 4.0 onwards should be:

session.id

Upvotes: 5

equivalent8
equivalent8

Reputation: 14227

If you need to see data written in Session store for given session id from Rails console you can:

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 andENV are set when you start rails console, don't need to set those

you can get the session_id via some a browser plugin dealing with cookies or (cookie inspector, cookies manager, ...)

Upvotes: 3

splicer
splicer

Reputation: 5394

Have you tried the following?

request.session_options[:id]

Upvotes: 140

whatbird
whatbird

Reputation: 1562

It also returns the session ID:

session[:session_id]

Upvotes: 8

RinoFM
RinoFM

Reputation: 78

I can't test it right now but as far as I know the session id variable changed from 'id' to 'session_id' on Rails 3, have you tried that one? Hope it works for you.

Upvotes: 2

Related Questions