Forum: Ruby on Rails store user id in session or find user id

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Fcf5e28e2e7ce245632a4a29896e6799?d=identicon&s=25 scott (Guest)
on 2006-04-28 15:32
Hi

Im uisng the lgoin generatior that as far as I can tell stores the
username in session.

I have another table that i need to store the id of the user who creates
an entry. (the logged in user)

Is it possible to store return the id and store it in session once the
user is created.

then do somthing like @project.user_id = session[:user].id;

or can I perform a search in the product table grabbing the id of the
using the username that is stored in session?
ie userIdVar = User.find(session[:user].login)
then do @project.user_id = userIdVar

how can this be done?

Sure both ways are possible, but any suggestions and reasons to why a
certian way is better over the other?
59de94a56fd2c198f33d9515d1c05961?d=identicon&s=25 Tom Mornini (Guest)
on 2006-04-28 19:22
(Received via mailing list)
On Apr 28, 2006, at 6:32 AM, scott wrote:

> Is it possible to store return the id and store it in session once the
> user is created.
>
> then do somthing like @project.user_id = session[:user].id;

How about:

@project.user = session[:user]

which does the same thing...

--
-- Tom Mornini
3dd4b52a0946bd698b1d1635a46ea3a3?d=identicon&s=25 François Beausoleil (fbeausoleil)
on 2006-04-28 19:35
(Received via mailing list)
Hello Tom !

2006/4/28, Tom Mornini <tmornini@infomania.com>:
> > then do somthing like @project.user_id = session[:user].id;
>
> @project.user = session[:user]
>
> which does the same thing...

Please, don't ever do that !  Storing the user in the session means
you'll be storing all associated objects with the user.  I did that in
a project, and had 2 and 3 megabytes session files !

Better: store the ID, or do it automatically:
http://blog.teksol.info/articles/2005/10/21/model-...

Hope that helps !
59de94a56fd2c198f33d9515d1c05961?d=identicon&s=25 Tom Mornini (Guest)
on 2006-04-28 19:50
(Received via mailing list)
On Apr 28, 2006, at 10:33 AM, Francois Beausoleil wrote:

> you'll be storing all associated objects with the user.  I did that in
> a project, and had 2 and 3 megabytes session files !

Hello Francois!

I *completely* agree with what you're saying, but my advice wasn't to
store the User object in session, but on how to set the associations,
which is the question that he asked. I also assumed that the login
system he was using had already made that decision for him, and that
he wouldn't want to change it.

Another huge problem beyond what you pointed out is that it's quite
easy to imagine the session User object getting out of sync with the
DB...

So, yes, I agree 100%, don't store the user object in the session.

--
-- Tom Mornini
This topic is locked and can not be replied to.