From cb47e6bb73076dad3381e86f4b8be8a310558ecc Mon Sep 17 00:00:00 2001 From: Andrew Tomaka Date: Mon, 5 Aug 2024 21:49:56 -0400 Subject: [PATCH] Authenticate each request via session --- app/controllers/application_controller.rb | 7 +++++++ app/models/current.rb | 3 +++ app/views/layouts/application.html.erb | 6 +++++- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 app/models/current.rb diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 09705d1..1a6caa2 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,2 +1,9 @@ class ApplicationController < ActionController::Base + before_action :authenticate_user + + private + + def authenticate_user + Current.user = User.find_by(id: session[:current_user_id]) + end end diff --git a/app/models/current.rb b/app/models/current.rb new file mode 100644 index 0000000..73a9744 --- /dev/null +++ b/app/models/current.rb @@ -0,0 +1,3 @@ +class Current < ActiveSupport::CurrentAttributes + attribute :user +end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index fbc9c63..fb838b8 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -19,7 +19,11 @@
  • <%= link_to "Credit Card Bills", credit_card_bills_path, class: "text-white" %>
  • <%= link_to "Incomes", incomes_path, class: "text-white" %>
  • <%= link_to "Members", members_path, class: "text-white" %>
  • -
  • <%= link_to "Log out", session_path, data: {turbo_method: :delete}, class: "text-white" %>
  • + <% if Current.user %> +
  • <%= link_to "Log out", session_path, data: {turbo_method: :delete}, class: "text-white" %>
  • + <% else %> +
  • <%= link_to "Log in", new_session_path, class: "text-white" %>
  • + <% end %>