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…
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