Logging out feature

Logging out feature,

Code:

def logout
@title = “Login - Books”

session[:user_id] != nil
flash[:notice] = "You have sucessfully been logged out !"
redirect_to :controller => :books, :action => :index

end
end

^^when this is run, it logs the user out (nill) and displays you have
successfully been logged out,

Code v2:
def logout
@title = “Login - Books”

session[:user_id] != nil
flash[:notice] = "You have sucessfully been logged out

#{@user.screen_name} !"
redirect_to :controller => :books, :action => :index
end
end

^^what i was hoping this would do is to display the users name as well,
(this is another task), i understand the session but how can i bring the
session back while the session is nill :S

thanks once again mates,

Jagmit G.

Quoting Jagmit G. [email protected]:

end
flash[:notice] = “You have sucessfully been logged out
#{@user.screen_name} !”
redirect_to :controller => :books, :action => :index
end
end

^^what i was hoping this would do is to display the users name as well,
(this is another task), i understand the session but how can i bring the
session back while the session is nill :S

Where is the instance variable @user set? If it were my code, I’d do
something like this:

def logout
@title = “Login - Books”

name = User.find(session[:user_id])
session[:user_id] != nil
flash[:notice] = “You have sucessfully been logged out #{name}!”
redirect_to :controller => :books, :action => :index
end

HTH,
Jeffrey

Jeffrey L. Taylor wrote:

Quoting Jagmit G. [email protected]:

end
flash[:notice] = “You have sucessfully been logged out
#{@user.screen_name} !”
redirect_to :controller => :books, :action => :index
end
end

^^what i was hoping this would do is to display the users name as well,
(this is another task), i understand the session but how can i bring the
session back while the session is nill :S

Where is the instance variable @user set? If it were my code, I’d do
something like this:

def logout
@title = “Login - Books”

name = User.find(session[:user_id])
session[:user_id] != nil
flash[:notice] = “You have sucessfully been logged out #{name}!”
redirect_to :controller => :books, :action => :index
end

HTH,
Jeffrey

Good afternoon friend,

Your code doesnt seem to be working as it gives me a SyntaxError, at the
end i added another end cause of the nill, it seems to work but the only
thing which is displayed is “You have successfully been logged out #!”
just that, no username.

On 21 March 2010 15:59, Jagmit G. [email protected] wrote:

Logging out feature,

Code:

def logout
@title = “Login - Books”

session[:user_id] != nil

Do you mean
session[:user_id] = nil

Colin

Thank you very much Jeffrey and Colin…

:slight_smile:

It worked perfectly and change the != to =

Quoting Jagmit G. [email protected]:

(this is another task), i understand the session but how can i bring the
session[:user_id] != nil
end i added another end cause of the nill, it seems to work but the only
thing which is displayed is “You have successfully been logged out #!”
just that, no username.

Oops, change:
name = User.find(session[:user_id])

To:
name = User.find(session[:user_id], :select =>
‘screen_name’).screen_name

Or maybe clearer:

def logout
@title = “Login - Books”

user = User.find(session[:user_id], :select => 'screen_name')
session[:user_id] != nil
flash[:notice] = "You have sucessfully been logged out 

#{user.screen_name}!"
redirect_to :controller => :books, :action => :index
end

And yes, you need the additional end to close the class.

Jeffrey