This commit is contained in:
Karol Selak 2021-03-20 22:23:32 +01:00
parent f8093d2c09
commit 7412853a3e
4 changed files with 18 additions and 3 deletions

View file

@ -5,11 +5,16 @@ class SessionsController < ApplicationController
def create
@user = User.find_by(username: params[:username])
if @user && @user.authenticate(params[:password])
sessions[:user_id] = @user.id
session[:user_id] = @user.id
end
redirect_to '/welcome'
end
def delete
session.delete(:user_id)
redirect_to '/welcome'
end
def welcome
end
end

View file

@ -1,6 +1,8 @@
<h1>Welcome</h1>
<% if logged_in? %>
<h1>You are Logged In, <%= current_user.username %></h1>
<%= button_to "Logout", '/logout', method: :get%>
<%else%>
<%= button_to "Login", '/login', method: :get%>
<%= button_to "Sign Up", '/users/new', method: :get%>
<%end%>
<%= button_to "Login", '/login', method: :get%>
<%= button_to "Sign Up", '/users/new', method: :get%>

View file

@ -1,6 +1,7 @@
Rails.application.routes.draw do
resources :users, only: [:new, :create]
get 'login', to: 'sessions#new'
get 'logout', to: 'sessions#delete'
post 'login', to: 'sessions#create'
get 'welcome', to: 'sessions#welcome'
resources :books

View file

@ -14,6 +14,13 @@ RSpec.describe SessionsController do
expect(subject).to redirect_to('/welcome')
end
end
describe 'get delete' do
# TODO test session status
subject { get 'delete' }
it 'redirects to /welcome' do
expect(subject).to redirect_to('/welcome')
end
end
describe 'get welcome' do
subject { get 'welcome' }
it 'renders the sessions/welcome template' do