a11yist/app/controllers/projects_controller.rb

63 lines
1.3 KiB
Ruby
Raw Normal View History

2024-11-24 22:08:36 +01:00
class ProjectsController < ApplicationController
before_action :set_project, only: %i[ show edit update destroy ]
# GET /projects
def index
@projects = Project.all
end
# GET /projects/1
def show
end
# GET /projects/new
def new
@project = Project.new
end
# GET /projects/1/edit
def edit
end
# POST /projects
def create
@project = if params[:copy_from_id]
Project.find(params[:copy_from_id]).dup
else
Project.new(project_params)
end
if @project.save
redirect_to @project, notice: "Project was successfully created."
else
render :new, status: :unprocessable_entity
end
end
# PATCH/PUT /projects/1
def update
if @project.update(project_params)
redirect_to @project, notice: "Project was successfully updated.", status: :see_other
else
render :edit, status: :unprocessable_entity
end
end
# DELETE /projects/1
def destroy
@project.destroy!
redirect_to projects_url, notice: "Project was successfully destroyed.", status: :see_other
end
private
# Use callbacks to share common setup or constraints between actions.
def set_project
@project = Project.find(params[:id])
end
# Only allow a list of trusted parameters through.
def project_params
params.require(:project).permit(:name, :details)
end
end