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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs