From 8e4fc5d5d2e5152df35e0486f13356ec76d590f3 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 19 May 2017 05:43:20 -0400 Subject: [PATCH] Improve how params from controller are permitted in filter helper (#3129) The `params` variable here was quite overloaded. It exists via the controller to hold the request params, and was sometimes being used in this helper as that object, but other times was being used as a local variable, or to pass to another method, and this was confusing. This change renames the args for a method away from `params` for more clarity, and extracts the actual usage of the controller-provided `params` to a better-named method for clarity. --- app/helpers/admin/filter_helper.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/helpers/admin/filter_helper.rb b/app/helpers/admin/filter_helper.rb index 72f851e5a..0dfa30e56 100644 --- a/app/helpers/admin/filter_helper.rb +++ b/app/helpers/admin/filter_helper.rb @@ -18,14 +18,18 @@ module Admin::FilterHelper private def filter_params(more_params) - params.permit(FILTERS).merge(more_params) + controller_request_params.merge(more_params) end def filter_link_class(new_url) - filtered_url_for(params) == new_url ? 'selected' : '' + filtered_url_for(controller_request_params) == new_url ? 'selected' : '' end - def filtered_url_for(params) - url_for filter_params(params) + def filtered_url_for(url_params) + url_for filter_params(url_params) + end + + def controller_request_params + params.permit(FILTERS) end end