# How do i fetch a session by ID?

**URL:** <https://www.ruby-forum.com/t/how-do-i-fetch-a-session-by-id/89166>\
**Category:** Rails\
**Created:** [March 18, 2007, 12:40am UTC](https://www.ruby-forum.com/t/how-do-i-fetch-a-session-by-id/89166 "2007-03-18T00:40:19Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tyler\_MacDonald](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b5ac83/32.png) [@Tyler\_MacDonald](https://www.ruby-forum.com/u/Tyler_MacDonald)\
**Post date:** [March 18, 2007, 12:40am UTC](https://www.ruby-forum.com/t/how-do-i-fetch-a-session-by-id/89166/1 "2007-03-18T00:40:19Z")

</div>

This must seem like a silly question to those of you in the know, but  
digging around [http://api.rubyonrails.com/](http://api.rubyonrails.com/) doesnt get my anywhere.

How do I retrieve a session based on it’s ID? I’d expect something like

my\_session = ActiveController::Sessions.find\_by\_id(session\_id)

But I can’t find anything even remotely similar to that in the API…

Thanks,  
Tyler

---

<div class="post-metadata">

**Author:** ![Tyler\_MacDonald](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b5ac83/32.png) [@Tyler\_MacDonald](https://www.ruby-forum.com/u/Tyler_MacDonald)\
**Post date:** [March 18, 2007, 4:05am UTC](https://www.ruby-forum.com/t/how-do-i-fetch-a-session-by-id/89166/2 "2007-03-18T04:05:34Z")

</div>

Hi Tyler,

Tyler MacDonald wrote,

> This must seem like a silly question to those of you in the know, but  
> digging around [http://api.rubyonrails.com/](http://api.rubyonrails.com/) doesnt get my anywhere.
> 
> How do I retrieve a session based on it’s ID? I’d expect something like
> 
> my\_session = ActiveController::Sessions.find\_by\_id(session\_id)
> 
> But I can’t find anything even remotely similar to that in the API…

That’s because, for the most part, you won’t ever need to do that. The  
Rails architecture protects you from having to figure out that crap. If  
you  
need to, for example, delete the current session, you just do  
session.destroy. If you need to access a session variable for the  
current  
session, you just do session[:variable\_of\_interest]. As you learn more  
about Rails, you’ll understand why that’s true. If you have some reason  
for  
doing more than that kind of stuff, you’ll need to say more about what  
it is  
you’re trying to do. Most often, though, folks new to Rails find things  
like this are just much easier than they’re used to.

hth.  
Bill

---

<div class="post-metadata">

**Author:** ![Tyler\_MacDonald](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b5ac83/32.png) [@Tyler\_MacDonald](https://www.ruby-forum.com/u/Tyler_MacDonald)\
**Post date:** [March 18, 2007, 4:11am UTC](https://www.ruby-forum.com/t/how-do-i-fetch-a-session-by-id/89166/3 "2007-03-18T04:11:35Z")

</div>

Tyler,

Are you looking to do something like this?

session.session\_id

That will retrieve the unique session\_id that’s generated. I’m assuming  
you’re using:  
config.action\_controller.session\_store = :active\_record\_store

-Dave

---

<div class="post-metadata">

**Author:** ![Tyler\_MacDonald](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b5ac83/32.png) [@Tyler\_MacDonald](https://www.ruby-forum.com/u/Tyler_MacDonald)\
**Post date:** [March 18, 2007, 5:30am UTC](https://www.ruby-forum.com/t/how-do-i-fetch-a-session-by-id/89166/4 "2007-03-18T05:30:39Z")

</div>

Dave H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Are you looking to do something like this?
> 
> session.session\_id
> 
> That will retrieve the unique session\_id that’s generated. I’m assuming  
> you’re using:  
> config.action\_controller.session\_store = :active\_record\_store

I will be, but I would still like a way to get from session ID to  
session  
object without depending on active\_record\_store… that way I can turn  
this  
stuff into plugins, without them depending on a model.

Thanks,  
Tyler

---

<div class="post-metadata">

**Author:** ![Tyler\_MacDonald](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b5ac83/32.png) [@Tyler\_MacDonald](https://www.ruby-forum.com/u/Tyler_MacDonald)\
**Post date:** [March 18, 2007, 5:30am UTC](https://www.ruby-forum.com/t/how-do-i-fetch-a-session-by-id/89166/5 "2007-03-18T05:30:39Z")

</div>

Bill W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> If you have some reason for doing more than that kind of stuff, you’ll  
> need to say more about what it is you’re trying to do.

I have three uses for grabbing a session by ID right now, and I’m  
betting as  
I go along there will be more. 🙂

1. AJAX instant messanging. When two people initiate an IM conversation,  
I  
would like the messages to be delivered by session ID.

2. PayPal. I would like the session that initiated a purchase to be  
indicated in the PayPal IPN. I can do that without actually looking up  
the  
session, but it would be nice to do something with the session (eg; set  
a  
flag) when the IPN comes in. Yes, I could set a flag on the “user”, but  
what  
if somebody is making a purchase without creating an account?

3. Applets. These can’t/don’t always pass the browser’s cookies along.  
It’d  
be nice to point applets at a url with the session id embedded, and then  
work with that to figure out what user/session is using the applet.

So all I really need, is some way to get from a Session ID to a session  
object.

Thanks,  
Tyler
