Add users controller

This commit is contained in:
sto
2025-03-14 16:37:21 +01:00
parent 50280ce389
commit 026bda2a99
14 changed files with 110 additions and 6 deletions
+1
View File
@@ -3,6 +3,7 @@ class ContestsController < ApplicationController
def index
@contests = current_user.contests
@user = current_user
end
def show
+36
View File
@@ -0,0 +1,36 @@
class UsersController < ApplicationController
before_action :set_user, only: %i[ destroy edit update show ]
def index
end
def edit
end
def update
if @user.update(user_params)
redirect_to @user
else
render :edit, status: :unprocessable_entity
end
end
def show
end
def new
end
def destroy
end
private
def set_user
@user = User.find(params[:id])
end
def user_params
params.expect(user: [ :username, :email_address ])
end
end
+2
View File
@@ -0,0 +1,2 @@
module UsersHelper
end
+2
View File
@@ -4,4 +4,6 @@ class User < ApplicationRecord
has_secure_password
normalizes :email_address, with: ->(e) { e.strip.downcase }
validates :username, presence: true, uniqueness: true
end
+4 -2
View File
@@ -1,7 +1,9 @@
.container.mt-5
- if authenticated?
.float-end
= button_to "Log out", session_path, method: :delete
.float-end.ms-3
= button_to "Log out", session_path, method: :delete
.float-end.mt-1
= link_to "Settings", user_path(@user)
h1 Welcome!
+9
View File
@@ -0,0 +1,9 @@
= form_with model: user do |form|
div
= form.label :username
= form.text_field :username
div
= form.label :email_address
= form.text_field :email_address
div
= form.submit
+4
View File
@@ -0,0 +1,4 @@
.container
h1 Edit settings
= render "form", user: @user
+1
View File
@@ -0,0 +1 @@
.container
+4
View File
@@ -0,0 +1,4 @@
.container
h1 Create a new user
= render "form", user: @user
+9
View File
@@ -0,0 +1,9 @@
.container
h1 = @user.username
p
|> Email:
= @user.email_address
a.btn.btn-primary.mt-4 href=edit_user_path(@user)
| Edit