puzzle-scoreboard/app/controllers/users_controller.rb
sto 5472a400d1
Some checks are pending
CI / scan_ruby (push) Waiting to run
CI / scan_js (push) Waiting to run
CI / lint (push) Waiting to run
CI / test (push) Waiting to run
Install Pundit and add UserPolicy
2025-03-22 09:48:40 +01:00

66 lines
1016 B
Ruby

class UsersController < ApplicationController
before_action :set_user, only: %i[ destroy edit show update ]
def index
authorize :user
@title = "All users"
@users = User.all
end
def edit
authorize @user
@title = "My settings"
end
def update
authorize @user
if @user.update(user_params)
redirect_to contests_path
else
render :edit, status: :unprocessable_entity
end
end
def show
authorize @user
redirect_to edit_user_path(@user)
end
def new
authorize :user
@title = "New user"
@user = User.new()
end
def create
authorize :user
@user = User.new(user_params)
if @user.save
redirect_to users_path
else
@title = "New user"
render :new, status: :unprocessable_entity
end
end
def destroy
authorize @user
end
private
def set_user
@user = User.find(params[:id])
end
def user_params
params.expect(user: [ :username, :email_address, :password ])
end
end