From ea8ad338c7fc514b49436b4e77af042612570d79 Mon Sep 17 00:00:00 2001 From: stereobooster Date: Sat, 12 Nov 2022 10:55:56 +0100 Subject: [PATCH 1/2] Failing tests --- spec/ransack/helpers/form_helper_spec.rb | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/spec/ransack/helpers/form_helper_spec.rb b/spec/ransack/helpers/form_helper_spec.rb index 167a316c..965c1146 100644 --- a/spec/ransack/helpers/form_helper_spec.rb +++ b/spec/ransack/helpers/form_helper_spec.rb @@ -140,6 +140,32 @@ module Helpers } end + describe '#sort_link works even if search params are a string' do + before { @controller.view_context.params[:q] = 'input error' } + specify { + expect { @controller.view_context + .sort_link( + Person.ransack({}), + :name, + controller: 'people' + ) + }.not_to raise_error + } + end + + describe '#sort_url works even if search params are a string' do + before { @controller.view_context.params[:q] = 'input error' } + specify { + expect { @controller.view_context + .sort_url( + Person.ransack({}), + :name, + controller: 'people' + ) + }.not_to raise_error + } + end + describe '#sort_link with search_key defined as a string' do subject { @controller.view_context .sort_link( From f248f6946c45009e8ddd2ae3f31a10f0b35d4148 Mon Sep 17 00:00:00 2001 From: stereobooster Date: Sat, 12 Nov 2022 10:57:16 +0100 Subject: [PATCH 2/2] bugfix --- lib/ransack/helpers/form_helper.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/ransack/helpers/form_helper.rb b/lib/ransack/helpers/form_helper.rb index 108bb1ba..b9d40004 100644 --- a/lib/ransack/helpers/form_helper.rb +++ b/lib/ransack/helpers/form_helper.rb @@ -180,7 +180,8 @@ def search_and_sort_params end def search_params - @params[@search.context.search_key].presence || {} + query_params = @params[@search.context.search_key] + query_params.is_a?(Hash) ? query_params : {} end def sort_params