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.
This commit is contained in:
Matt Jankowski 2017-05-19 05:43:20 -04:00 committed by Eugen Rochko
parent b8b7b506a2
commit 8e4fc5d5d2

View file

@ -18,14 +18,18 @@ module Admin::FilterHelper
private private
def filter_params(more_params) def filter_params(more_params)
params.permit(FILTERS).merge(more_params) controller_request_params.merge(more_params)
end end
def filter_link_class(new_url) def filter_link_class(new_url)
filtered_url_for(params) == new_url ? 'selected' : '' filtered_url_for(controller_request_params) == new_url ? 'selected' : ''
end end
def filtered_url_for(params) def filtered_url_for(url_params)
url_for filter_params(params) url_for filter_params(url_params)
end
def controller_request_params
params.permit(FILTERS)
end end
end end