mirror of
https://github.com/discourse/discourse.git
synced 2026-08-06 03:07:17 -05:00
FIX: Don't leave blank additional_tag_ids param after removing dups in intersection (#34423)
My previous fix would leave behind a blank `additional_tag_ids=` query param when redirecting to /tag if all additional_tags in the intersection route were removed due to being duplicates. With this fix the additional_tag_ids param is removed if it ends up being cleared during the duplicate check
This commit is contained in:
@@ -166,7 +166,12 @@ class TagsController < ::ApplicationController
|
||||
additional_tags_trimmed = additional_tags_trimmed&.uniq
|
||||
|
||||
if additional_tags_trimmed != @additional_tags
|
||||
params[:additional_tag_ids] = additional_tags_trimmed&.join("/")
|
||||
if additional_tags_trimmed.present?
|
||||
params[:additional_tag_ids] = additional_tags_trimmed&.join("/")
|
||||
else
|
||||
params[:additional_tag_ids] = nil
|
||||
end
|
||||
|
||||
return redirect_to url_for(params.to_unsafe_hash)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -38,6 +38,9 @@ describe "Tags intersection", type: :system do
|
||||
|
||||
visit("/tags/intersection/sour/tangy/sour/sour")
|
||||
expect(page).to have_current_path("/tags/intersection/sour/tangy")
|
||||
|
||||
visit("/tags/intersection/sour/sour")
|
||||
expect(page).to have_current_path("/tag/sour")
|
||||
end
|
||||
|
||||
it "removes duplicates from the additional tags list" do
|
||||
|
||||
Reference in New Issue
Block a user