# Rails 2.0 and current\_user

**URL:** <https://www.ruby-forum.com/t/rails-2-0-and-current-user/133067>\
**Category:** Rails\
**Created:** [March 27, 2008, 12:26pm UTC](https://www.ruby-forum.com/t/rails-2-0-and-current-user/133067 "2008-03-27T12:26:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![pubclub](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/3d9bf3/32.png) [@pubclub](https://www.ruby-forum.com/u/pubclub)\
**Post date:** [March 27, 2008, 12:26pm UTC](https://www.ruby-forum.com/t/rails-2-0-and-current-user/133067/1 "2008-03-27T12:26:53Z")

</div>

Hello,

I am setting up a Rails 2.0 project where i am using  
acts\_as\_authenticated as my user ‘manager’. I am trying to use the  
scope\_out plugin to group users into a Account. In order for that to  
work i need to use the current\_user inside the User Model. The most  
obvious approach would be to use the example below and set the current  
user inside the application controller. However this is just not  
working. My current\_user accessor stays empty inside the User model. Is  
this because i am running in development mode or is this a known Rails  
2.0 issue. Do you guys know any alternatives.

class ApplicationController \< ActionController::Base  
before\_filter do |c|  
User.current\_user = User.find(c.session[:user].id) unless  
c.session[:user].nil?  
end  
end

class User \< ActiveRecord::Base  
cattr\_accessor :current\_user  
end

[http://agilewebdevelopment.com/plugins/scope\_out](http://agilewebdevelopment.com/plugins/scope_out)

Thanx in advance

---

<div class="post-metadata">

**Author:** ![pubclub](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/3d9bf3/32.png) [@pubclub](https://www.ruby-forum.com/u/pubclub)\
**Post date:** [March 27, 2008, 12:42pm UTC](https://www.ruby-forum.com/t/rails-2-0-and-current-user/133067/2 "2008-03-27T12:42:30Z")

</div>

On 27 Mar 2008, at 11:26, Vincent B. wrote:

> Is  
> this because i am running in development mode or is this a known Rails  
> 2.0 issue. Do you guys know any alternatives.

Isn’t the thing in the session normally :user\_id ?

Fred

---

<div class="post-metadata">

**Author:** ![pubclub](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/3d9bf3/32.png) [@pubclub](https://www.ruby-forum.com/u/pubclub)\
**Post date:** [March 27, 2008, 12:49pm UTC](https://www.ruby-forum.com/t/rails-2-0-and-current-user/133067/3 "2008-03-27T12:49:07Z")

</div>

Frederick C. wrote:

> On 27 Mar 2008, at 11:26, Vincent B. wrote:
> 
> > Is  
> > this because i am running in development mode or is this a known Rails  
> > 2.0 issue. Do you guys know any alternatives.
> 
> Isn’t the thing in the session normally :user\_id ?
> 
> Fred

Yes it is the user id, copied the example from somewhere else, but  
adjusted in it in my code to

User.current\_user = User.find(c.session[:user]) unless  
c.session[:user].nil?

---

<div class="post-metadata">

**Author:** ![pubclub](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/3d9bf3/32.png) [@pubclub](https://www.ruby-forum.com/u/pubclub)\
**Post date:** [March 27, 2008, 4:26pm UTC](https://www.ruby-forum.com/t/rails-2-0-and-current-user/133067/4 "2008-03-27T16:26:19Z")

</div>

Seems like things could be better structured. Since you’re using  
acts\_as\_authenticated you could:

class ApplicationController \< ActionController::Base  
include AuthenticatedSystem

before\_filter :login\_required, :set\_current\_user

protect  
def set\_current\_user  
User.current\_user = self.current\_user  
end  
end

I disagree slightly with Jan. Jan is right that this application  
seems to be too tightly coupled to the Controller. scope\_out,  
however, still may be appropriate to your needs… but your  
application of it does seem off.

On Mar 27, 7:41 am, Frederick C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![pubclub](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/3d9bf3/32.png) [@pubclub](https://www.ruby-forum.com/u/pubclub)\
**Post date:** [March 27, 2008, 12:56pm UTC](https://www.ruby-forum.com/t/rails-2-0-and-current-user/133067/5 "2008-03-27T12:56:08Z")

</div>

This is one of these cases where I’d just advise not to use the  
scope\_out plugin. I don’t know what you’re trying to do, but it feels  
wrong when your User model needs data from the session to function.

Regards,  
Jan
