diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index dbdb886..d7101f6 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -5,7 +5,8 @@ class SessionsController < ApplicationController def create user = User.find_by(email: params[:session][:email].downcase) - if user && user.authenticate(params[:session][:password]) + # if user && user.authenticate(params[:session][:password]) + if user&.authenticate(params[:session][:password]) reset_session log_in user redirect_to user @@ -16,5 +17,7 @@ class SessionsController < ApplicationController end def destroy + log_out + redirect_to root_url end end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 367fdd3..bc85b72 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1,4 +1,5 @@ class UsersController < ApplicationController + include SessionsHelper def show @user = User.find(params[:id]) # debugger @@ -11,6 +12,8 @@ class UsersController < ApplicationController def create @user = User.new(user_params) if @user.save + reset_session + log_in @user flash[:success] = "Welcome to the Sample App!" redirect_to @user # redirect_to user_url(@user) diff --git a/app/helpers/sessions_helper.rb b/app/helpers/sessions_helper.rb index f81bc8e..6deb590 100644 --- a/app/helpers/sessions_helper.rb +++ b/app/helpers/sessions_helper.rb @@ -12,4 +12,10 @@ module SessionsHelper def logged_in? !current_user.nil? end + + def log_out + reset_session + @current_user = nil + end + end diff --git a/app/models/user.rb b/app/models/user.rb index 6c288ab..483ea4a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -8,4 +8,10 @@ class User < ApplicationRecord uniqueness: true has_secure_password validates :password, presence: true, length: { minimum: 6 } + + def User.digest(string) + cost = ActiveModel::SecurePassword.min_cost ? BCrypt::Engine::MIN_COST : + BCrypt::Engine.cost + BCrypt::Password.create(string, cost: cost) + end end diff --git a/app/views/layouts/_header.html.erb b/app/views/layouts/_header.html.erb index 335d2b9..c5aea77 100644 --- a/app/views/layouts/_header.html.erb +++ b/app/views/layouts/_header.html.erb @@ -9,8 +9,8 @@ aria-expanded="false"> Toggle navigation - - + +