From e32c61cf6edd538bb9bca20421ec9447ebcd7d25 Mon Sep 17 00:00:00 2001 From: Yuki Nishijima Date: Tue, 17 Oct 2017 15:08:25 -0400 Subject: [PATCH] Fixed a bug where overriding `params` stopped working closes #919 --- kaminari-core/lib/kaminari/helpers/tags.rb | 2 +- kaminari-core/test/helpers/action_view_extension_test.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/kaminari-core/lib/kaminari/helpers/tags.rb b/kaminari-core/lib/kaminari/helpers/tags.rb index 900496e58..3c4c4402c 100644 --- a/kaminari-core/lib/kaminari/helpers/tags.rb +++ b/kaminari-core/lib/kaminari/helpers/tags.rb @@ -24,7 +24,7 @@ def initialize(template, params: {}, param_name: nil, theme: nil, views_prefix: @params = @params.to_unsafe_h if @params.respond_to?(:to_unsafe_h) @params = @params.with_indifferent_access @params.except!(*PARAM_KEY_BLACKLIST) - @params.reverse_merge! params + @params.merge! params end def to_s(locals = {}) #:nodoc: diff --git a/kaminari-core/test/helpers/action_view_extension_test.rb b/kaminari-core/test/helpers/action_view_extension_test.rb index ae53d4de5..f692ecc0a 100644 --- a/kaminari-core/test/helpers/action_view_extension_test.rb +++ b/kaminari-core/test/helpers/action_view_extension_test.rb @@ -28,6 +28,13 @@ class ActionViewExtensionTest < ActionView::TestCase end end + test 'allows for overriding params with the :params option' do + view.params[:controller], view.params[:action] = 'addresses', 'new' + users = User.page(1) + + assert_match '/users?page=2', view.paginate(users, params: { controller: 'users', action: 'index' }) + end + test 'accepts :theme option' do users = User.page(1) begin