46 lines
1011 B
Ruby
46 lines
1011 B
Ruby
|
class TaskItemsController < ApplicationController
|
||
|
|
||
|
before_action :ensure_valid_user
|
||
|
before_action :set_task_list
|
||
|
before_action :set_task_item, only: [:update, :destroy]
|
||
|
|
||
|
def create
|
||
|
@task_item = TaskItem.new(task_item_params)
|
||
|
@task_item.task_list = @task_list
|
||
|
|
||
|
if @task_item.save
|
||
|
render :show, status: :created, location: @task_item
|
||
|
else
|
||
|
render json: @task_item.errors, status: :unprocessable_entity
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def update
|
||
|
if @task_item.update(task_item_params)
|
||
|
render :show, status: :ok, location: @task_item
|
||
|
else
|
||
|
render json: @task_item.errors, status: :unprocessable_entity
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def destroy
|
||
|
@task_item.destroy
|
||
|
head :no_content
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def task_item_params
|
||
|
params.require(:task_item).permit(:name, :quantity)
|
||
|
end
|
||
|
|
||
|
def set_task_list
|
||
|
@task_list = TaskList.find(params[:task_list_id])
|
||
|
ensure_owner(@task_list)
|
||
|
end
|
||
|
|
||
|
def set_task_item
|
||
|
@task_item = @task_list.task_items.find(params[:id])
|
||
|
end
|
||
|
|
||
|
end
|