songtianlun
ccd6b02a98
- Implement remember method in User model to generate and store a remember token - Update SessionsController to call remember on successful login - Enhance current_user method to retrieve user from cookies if session is not present - Add forget method to clear remember token on logout - Create migration to add remember_digest column to users table
25 lines
538 B
Ruby
25 lines
538 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
|
|
remember user
|
|
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
|