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.
24 lines
518 B
Ruby
24 lines
518 B
Ruby
class SessionsController < ApplicationController
|
|
include SessionsHelper
|
|
def new
|
|
end
|
|
|
|
def create
|
|
user = User.find_by(email: params[:session][:email].downcase)
|
|
# if user && user.authenticate(params[:session][:password])
|
|
if user&.authenticate(params[:session][:password])
|
|
reset_session
|
|
log_in user
|
|
redirect_to user
|
|
else
|
|
flash.now[:danger] = 'Invalid email/password combination'
|
|
render 'new'
|
|
end
|
|
end
|
|
|
|
def destroy
|
|
log_out
|
|
redirect_to root_url
|
|
end
|
|
end
|