how to access variable in 3 level (model,controller,view)

how to access variable in 3 level (model,controller,view)

i use session[:current_unit] only can in C and V
can't access in M

i mean is use a goloble variable can access in anywhere

Such as:
    user slecet a Unit,
    in model, before User.save the user.unit_id must set
session[:user_id]
    in login form User must select a unit , this is current_unit, I
save it in session[:user_id]
    but how can i get it in model
    or there are an other mothed to handle it?

thanks!

Fuyi wrote:

how to access variable in 3 level (model,controller,view)

i use session[:current_unit] only can in C and V
can't access in M

i mean is use a goloble variable can access in anywhere

You probably don't want to use a global variable for this.

Such as:
    user slecet a Unit,
    in model, before User.save the user.unit_id must set
session[:user_id]
    in login form User must select a unit , this is current_unit, I
save it in session[:user_id]
    but how can i get it in model
    or there are an other mothed to handle it

It sounds like you're not going about this correctly. Can you give more
details of what you're trying to do?

thanks!

Best,

In declarative_authorization you can do

      before_filter {|c| Authorization.current_user = c.current_user}

in ApplicationController, then call

      using_access_control

in Model, and you get current_user(or something like that) in your
model. Check how they do it.

Also, there is a hack from @lifo(Rails core team and 37signals member)
http://m.onkey.org/2007/10/17/how-to-access-session-cookies-params-request-in-model