From f76930aab647135290ea570b6458eeecd8db0efb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Mon, 8 Jun 2020 22:56:23 +0200 Subject: [PATCH] Simplify URL to destroy a booth assignment We can find the booth through the booth assignment, so we don't need to pass it in the URL. Since the parameter is in the URL and not sent through a form, we can also use `params[:poll_id]` directly, and so we can reuse the `load_poll` method. --- app/controllers/admin/poll/booth_assignments_controller.rb | 7 +++---- .../poll/booth_assignments/_booth_assignment.html.erb | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/controllers/admin/poll/booth_assignments_controller.rb b/app/controllers/admin/poll/booth_assignments_controller.rb index a784c5bd9..5ad38435d 100644 --- a/app/controllers/admin/poll/booth_assignments_controller.rb +++ b/app/controllers/admin/poll/booth_assignments_controller.rb @@ -1,5 +1,5 @@ class Admin::Poll::BoothAssignmentsController < Admin::Poll::BaseController - before_action :load_poll, except: [:create, :destroy] + before_action :load_poll, except: [:create] def index @booth_assignments = @poll.booth_assignments.includes(:booth).order("poll_booths.name") @@ -36,9 +36,8 @@ class Admin::Poll::BoothAssignmentsController < Admin::Poll::BaseController end def destroy - @poll = Poll.find(booth_assignment_params[:poll_id]) - @booth = Poll::Booth.find(booth_assignment_params[:booth_id]) - @booth_assignment = ::Poll::BoothAssignment.find(params[:id]) + @booth_assignment = @poll.booth_assignments.find(params[:id]) + @booth = @booth_assignment.booth @booth_assignment.destroy! diff --git a/app/views/admin/poll/booth_assignments/_booth_assignment.html.erb b/app/views/admin/poll/booth_assignments/_booth_assignment.html.erb index 13857144a..8f159a264 100644 --- a/app/views/admin/poll/booth_assignments/_booth_assignment.html.erb +++ b/app/views/admin/poll/booth_assignments/_booth_assignment.html.erb @@ -12,7 +12,7 @@ <%= link_to t("admin.booth_assignments.manage.actions.unassign"), - admin_poll_booth_assignment_path(@poll, booth_assignment, booth_id: booth.id), + admin_poll_booth_assignment_path(@poll, booth_assignment), method: :delete, remote: true, title: t("admin.booth_assignments.manage.actions.unassign"),