Initial implementation of projects, tasks and their basic actions #1

Open
KaungKaung wants to merge 24 commits from development into main
2 changed files with 79 additions and 0 deletions
Showing only changes of commit 142e14743a - Show all commits

View File

@@ -19,4 +19,30 @@ class ProjectsController < ApplicationController
render :new
end
end
def edit
@project = Project.find(params[:id])
end
def update
@project = Project.find(params[:id])
if @project.update(project_params)
redirect_to @project
else
render :edit
end
end
def destroy
@project = Project.find(params[:id])
@project.destroy
redirect_to projects_path
end
private
def project_params
params.require(:project).permit(:project_name, :description)
end
end

View File

@@ -0,0 +1,53 @@
class TasksController < ApplicationController
def index
@project = Project.find(params[:project_id])
@tasks = @project.tasks
end
def show
@project = Project.find(params[:project_id])
@task = @project.tasks.find(params[:id])
end
def new
@project = Project.find(params[:project_id])
@task = @project.tasks.new
end
def create
@project = Project.find(params[:project_id])
@task = @project.tasks.new(task_params)
if @task.save
redirect_to project_task_path(@project, @task)
else
render :new
end
end
def edit
@project = Project.find(params[:project_id])
@task = @project.tasks.find(params[:id])
end
def update
@project = Project.find(params[:project_id])
@task = @project.tasks.find(params[:id])
if @task.update(task_params)
redirect_to project_task_path(@project, @task)
else
render :edit
end
end
def destroy
@project = Project.find(params[:project_id])
@task = @project.tasks.find(params[:id])
@task.destroy
redirect_to project_tasks_path(@project)
end
private
def task_params
params.require(:task).permit(:title, :description, :status)
end
end