This commit is contained in:
Aaro Koivukangas
2023-08-08 20:01:01 +03:00
parent 28f91f355f
commit 23e6537a12
23 changed files with 304 additions and 1 deletions
+2
View File
@@ -10,6 +10,8 @@ class RatingsController < ApplicationController
def create
Rating.create params.require(:rating).permit(:score, :beer_id)
session[:last_rating] = "#{rating.beer.name} #{rating.score} points"
redirect_to ratings_path
end
+15
View File
@@ -0,0 +1,15 @@
class SessionsController < ApplicationController
def new
end
def create
user = User.find_by username: params[:username]
session[:user_id] = user.id if user
redirect_to user
end
def destroy
session[:user_id] = nil
redirect_to :root
end
end
+70
View File
@@ -0,0 +1,70 @@
class UsersController < ApplicationController
before_action :set_user, only: %i[ show edit update destroy ]
# GET /users or /users.json
def index
@users = User.all
end
# GET /users/1 or /users/1.json
def show
end
# GET /users/new
def new
@user = User.new
end
# GET /users/1/edit
def edit
end
# POST /users or /users.json
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
format.html { redirect_to user_url(@user), notice: "User was successfully created." }
format.json { render :show, status: :created, location: @user }
else
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /users/1 or /users/1.json
def update
respond_to do |format|
if @user.update(user_params)
format.html { redirect_to user_url(@user), notice: "User was successfully updated." }
format.json { render :show, status: :ok, location: @user }
else
format.html { render :edit, status: :unprocessable_entity }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
# DELETE /users/1 or /users/1.json
def destroy
@user.destroy
respond_to do |format|
format.html { redirect_to users_url, notice: "User was successfully destroyed." }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_user
@user = User.find(params[:id])
end
# Only allow a list of trusted parameters through.
def user_params
params.require(:user).permit(:username)
end
end