From 29bd2bc2a7dcded9e46b05ccf1924d72f3f11259 Mon Sep 17 00:00:00 2001 From: Morgan Roderick Date: Wed, 11 Feb 2026 12:16:15 +0100 Subject: [PATCH] feat: migrate remaining controllers to params.expect Migrated 6 controllers to use Rails 8.0 params.expect: - feedback_controller - Workshop feedback submissions - invitation_controller - Workshop invitation updates (conditional params) - subscriptions_controller - Chapter subscription management - terms_and_conditions_controller - T&C acceptance - contact_preferences_controller - Mailing list preferences - workshop_invitation_concerns - Shared invitation logic (conditional params) All feature tests passing (69 examples, 0 failures). --- app/controllers/concerns/workshop_invitation_concerns.rb | 6 +++++- app/controllers/contact_preferences_controller.rb | 2 +- app/controllers/feedback_controller.rb | 2 +- app/controllers/invitation_controller.rb | 6 +++++- app/controllers/subscriptions_controller.rb | 2 +- app/controllers/terms_and_conditions_controller.rb | 2 +- 6 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/controllers/concerns/workshop_invitation_concerns.rb b/app/controllers/concerns/workshop_invitation_concerns.rb index 9a7358866..7cbf21bf3 100644 --- a/app/controllers/concerns/workshop_invitation_concerns.rb +++ b/app/controllers/concerns/workshop_invitation_concerns.rb @@ -11,7 +11,11 @@ module InstanceMethods private def invitation_params - params[:workshop_invitation].present? ? params.require(:workshop_invitation).permit(:tutorial, :note) : {} + if params.key?(:workshop_invitation) + params.expect(workshop_invitation: [:tutorial, :note]) + else + {} + end end def back_with_message(message) diff --git a/app/controllers/contact_preferences_controller.rb b/app/controllers/contact_preferences_controller.rb index fe0b6ce79..18860917b 100644 --- a/app/controllers/contact_preferences_controller.rb +++ b/app/controllers/contact_preferences_controller.rb @@ -23,7 +23,7 @@ def token end def contact_preferences - params.require(:contact).permit(:token, :mailing_list_consent) + params.expect(contact: [:token, :mailing_list_consent]) end def mailing_list_consent diff --git a/app/controllers/feedback_controller.rb b/app/controllers/feedback_controller.rb index 88305479f..bbf48db4f 100644 --- a/app/controllers/feedback_controller.rb +++ b/app/controllers/feedback_controller.rb @@ -34,7 +34,7 @@ def submit private def feedback_params - params.require(:feedback).permit(:coach_id, :tutorial_id, :request, :rating, :suggestions) + params.expect(feedback: [:coach_id, :tutorial_id, :request, :rating, :suggestions]) end def set_coaches(workshop) diff --git a/app/controllers/invitation_controller.rb b/app/controllers/invitation_controller.rb index fb9d57dbb..31acf029a 100644 --- a/app/controllers/invitation_controller.rb +++ b/app/controllers/invitation_controller.rb @@ -21,7 +21,11 @@ def update private def invitation_params - params[:workshop_invitation].present? ? params.require(:workshop_invitation).permit(:tutorial, :note) : {} + if params.key?(:workshop_invitation) + params.expect(workshop_invitation: [:tutorial, :note]) + else + {} + end end def available_spaces?(workshop, invitation) diff --git a/app/controllers/subscriptions_controller.rb b/app/controllers/subscriptions_controller.rb index 6ad82ab21..485c94868 100644 --- a/app/controllers/subscriptions_controller.rb +++ b/app/controllers/subscriptions_controller.rb @@ -37,7 +37,7 @@ def destroy private def group_id - params.require(:subscription).permit(:group_id)[:group_id] + params.expect(subscription: [:group_id])[:group_id] end def send_welcome_email(member, subscription) diff --git a/app/controllers/terms_and_conditions_controller.rb b/app/controllers/terms_and_conditions_controller.rb index a0e87674f..eb1022bbb 100644 --- a/app/controllers/terms_and_conditions_controller.rb +++ b/app/controllers/terms_and_conditions_controller.rb @@ -22,6 +22,6 @@ def update private def terms_params - params.require(:terms_and_conditions_form).permit(:terms) + params.expect(terms_and_conditions_form: [:terms]) end end