Language Selector: Prevent duplicate locale=
keys
This commit is contained in:
@ -86,7 +86,7 @@ module AuthenticatedUrlHelper
|
||||
parsed_url = URI.parse url
|
||||
|
||||
# Add the given parameters to the query string
|
||||
query_params = CGI.parse(parsed_url.query || '')
|
||||
query_params = CGI.parse(parsed_url.query || '').with_indifferent_access
|
||||
query_params.merge!(parameters)
|
||||
|
||||
# Add the query string back to the URL
|
||||
|
15
spec/helpers/authenticated_url_helper_spec.rb
Normal file
15
spec/helpers/authenticated_url_helper_spec.rb
Normal file
@ -0,0 +1,15 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
describe AuthenticatedUrlHelper do
|
||||
describe '#add_query_parameters' do
|
||||
it 'adds the given parameters to the given url' do
|
||||
expect(described_class.add_query_parameters(root_url, {foo: 'bar'})).to eq(root_url(foo: 'bar'))
|
||||
end
|
||||
|
||||
it 'does not duplicate existing parameters' do
|
||||
expect(described_class.add_query_parameters(root_url(foo: 'bar'), {foo: 'baz'})).to eq(root_url(foo: 'baz'))
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user