diff --git a/app/services/csv_generator/tag_details.rb b/app/services/csv_generator/tag_details.rb index 70d54696..3895e790 100644 --- a/app/services/csv_generator/tag_details.rb +++ b/app/services/csv_generator/tag_details.rb @@ -13,14 +13,14 @@ def headers end def scope - language.topics.active.includes(:tags) - .flat_map { |topic| topic.tags_on(language.code.to_sym) } - .uniq - .map do |tag| - [ - tag.id, - tag.name, - ] - end + language.topics.active.includes(taggings: :tag) + .flat_map do |topic| + topic.taggings.map do |tagging| + [ + tagging.tag.id, + tagging.tag.name, + ] + end + end.uniq end end diff --git a/app/services/csv_generator/topic_tags.rb b/app/services/csv_generator/topic_tags.rb index 7b6768c0..cce72fe5 100644 --- a/app/services/csv_generator/topic_tags.rb +++ b/app/services/csv_generator/topic_tags.rb @@ -13,14 +13,14 @@ def headers end def scope - language.topics.active.includes(:tags) + language.topics.active.includes(taggings: :tag) .flat_map do |topic| - topic.tags_on(language.code.to_sym).map do |tag| + topic.taggings.map do |tagging| [ topic.id, - tag.id, + tagging.tag.id, ] end - end + end.uniq end end diff --git a/spec/services/csv_generator/tag_details_spec.rb b/spec/services/csv_generator/tag_details_spec.rb index b9300af3..c0e5234a 100644 --- a/spec/services/csv_generator/tag_details_spec.rb +++ b/spec/services/csv_generator/tag_details_spec.rb @@ -14,8 +14,8 @@ let!(:topic) { create(:topic, :tagged, language:) } let(:data) do header.tap do |csv| - topic.tags_on(language.code.to_sym).each do |tag| - csv << "#{tag.id},#{tag.name}\n" + topic.taggings.each do |tagging| + csv << "#{tagging.tag.id},#{tagging.tag.name}\n" end end end diff --git a/spec/services/csv_generator/topic_tags_spec.rb b/spec/services/csv_generator/topic_tags_spec.rb index b2c9a439..40ad5f45 100644 --- a/spec/services/csv_generator/topic_tags_spec.rb +++ b/spec/services/csv_generator/topic_tags_spec.rb @@ -14,8 +14,8 @@ let!(:topic) { create(:topic, :tagged, language:) } let(:data) do header.tap do |csv| - topic.tags_on(language.code.to_sym).each do |tag| - csv << "#{topic.id},#{tag.id}\n" + topic.taggings.each do |tagging| + csv << "#{topic.id},#{tagging.tag.id}\n" end end end