Redirects in Rails

I have a question :

I have Users that have a boolean attribute "Admin". What I did is basically : "if admin attribute is set on false, then a writing appears telling that 'you must be an admin to see this zone'".

I wanted to organize things differently, for example: "if the logged user is logged, and if he has an Admin-attribute set on true, then he may get to the requested aministration page, else, he'll be redirected at login page".

I have a current_user method :

  def current_user     @current_user ||= User.find(session[:user_id]) if session[:user_id]   end

but I tried to add it into the controller, the model and application controller, with just getting error.

Is it possibile to implement, in your opinion?

if you are building athentication from scratch this method can be accessed by the controller and views by putting that method in the application_controller and adding

def current_user

@current_user ||= User.find(session[:user_id]) if session[:user_id]

end

helper_method :current_user

this will make it available to other controllers and views, session data is not accesible from the models.

What you want to do is done with a before filter in the controller like this:

at the top of the controllers you add

before_filter :check_if_cool_enough

at the bottom

private

def check_if_cool_enough

if current_user.admin?

     flash[:notice] = "YOU ARE SOOO COOL"

else

     flash[:error] = "omg, lol noob"

     redirect_to  root_path 

end

end