Tapes are now Clips, also they have categories

This commit is contained in:
Roscoe 2025-09-10 03:08:27 +01:00
commit c8732b6332
Signed by: RoscoeDaWah
SSH key fingerprint: SHA256:Hqn452XQ1ETzUt/FthJu6+OFkS4NBxCv5VQSEvuk7CE
41 changed files with 347 additions and 148 deletions

View file

@ -0,0 +1,49 @@
class CategoriesController < ApplicationController
allow_unauthenticated_access only: %i[ index show ]
before_action :set_category, only: %i[ show edit update destroy ]
def index
@categories = Category.all
end
def show
@clips = Clip.where("category_id = ?", params[:id])
end
def new
@category = Category.new
end
def create
@category = Category.new(category_params)
if @category.save
redirect_to @category
else
render :new, status: :unprocessable_entity
end
end
def edit
end
def update
if @category.update(category_params)
redirect_to @category
else
render :edit, status: :unprocessable_entity
end
end
def destroy
@category.destroy
redirect_to categories_path
end
private
def set_category
@category = Category.find(params[:id])
end
def category_params
params.expect(category: [ :name ])
end
end

View file

@ -0,0 +1,48 @@
class ClipsController < ApplicationController
allow_unauthenticated_access only: %i[ index show ]
before_action :set_clip, only: %i[ show edit update destroy ]
def index
@clips = Clip.all
end
def show
end
def new
@clip = Clip.new
end
def create
@clip = Clip.new(clip_params)
if @clip.save
redirect_to @clip
else
render :new, status: :unprocessable_entity
end
end
def edit
end
def update
if @clip.update(clip_params)
redirect_to @clip
else
render :edit, status: :unprocessable_entity
end
end
def destroy
@clip.destroy
redirect_to clips_path
end
private
def set_clip
@clip = Clip.find(params[:id])
end
def clip_params
params.expect(clip: [ :title, :video, :category_id ])
end
end

View file

@ -1,5 +1,5 @@
class HomeController < ApplicationController
def index
@tapes = Tape.order("updated_at DESC").limit(10)
@clips = Clip.order("updated_at DESC").limit(10)
end
end

View file

@ -1,48 +0,0 @@
class TapesController < ApplicationController
allow_unauthenticated_access only: %i[ index show ]
before_action :set_tape, only: %i[ show edit update destroy ]
def index
@tapes = Tape.all
end
def show
end
def new
@tape = Tape.new
end
def create
@tape = Tape.new(tape_params)
if @tape.save
redirect_to @tape
else
render :new, status: :unprocessable_entity
end
end
def edit
end
def update
if @tape.update(tape_params)
redirect_to @tape
else
render :edit, status: :unprocessable_entity
end
end
def destroy
@tape.destroy
redirect_to tapes_path
end
private
def set_tape
@tape = Tape.find(params[:id])
end
def tape_params
params.expect(tape: [ :title, :video ])
end
end