songtianlun
bd5c6ae6bb
- Update session creation to use safe navigation operator - Implement log_out method in SessionsHelper - Add session reset and login on user creation - Improve user login tests for better coverage These changes improve the user session management by ensuring that the session is handled more safely and efficiently. The addition of the log_out method centralizes session termination, while the updated tests ensure that both login and logout functionality are thoroughly validated.
22 lines
313 B
Ruby
22 lines
313 B
Ruby
module SessionsHelper
|
|
def log_in(user)
|
|
session[:user_id] = user.id
|
|
end
|
|
|
|
def current_user
|
|
if session[:user_id]
|
|
@current_user ||= User.find_by(id: session[:user_id])
|
|
end
|
|
end
|
|
|
|
def logged_in?
|
|
!current_user.nil?
|
|
end
|
|
|
|
def log_out
|
|
reset_session
|
|
@current_user = nil
|
|
end
|
|
|
|
end
|