search: reduce queries in wiki excerpts (#4120).

Using `any?` here translated each lookup into two queries, one to check
if the aliases/implications existed and one to actually load them. Using
`present?` avoids the existence check.
This commit is contained in:
evazion
2019-08-12 13:38:45 -05:00
parent 14da425564
commit 43e8a8a01b

View File

@@ -10,26 +10,26 @@ module TagsHelper
html << " (#{link_to "learn more", wiki_pages_path(title: "help:tag_aliases")}).</p>"
end
if tag.consequent_aliases.any?
if tag.consequent_aliases.present?
html << "<p class='hint'>The following tags are aliased to this tag: "
html << raw(tag.consequent_aliases.map {|x| link_to(x.antecedent_name, show_or_new_wiki_pages_path(:title => x.antecedent_name))}.join(", "))
html << " (#{link_to "learn more", wiki_pages_path(title: "help:tag_aliases")}).</p>"
end
automatic_tags = TagImplication.automatic_tags_for([tag.name])
if automatic_tags.any?
if automatic_tags.present?
html << "<p class='hint'>This tag automatically adds "
html << raw(automatic_tags.map {|x| link_to(x, show_or_new_wiki_pages_path(:title => x))}.join(", "))
html << " (#{link_to "learn more", wiki_pages_path(title: "help:autotags")}).</p>"
end
if tag.antecedent_implications.any?
if tag.antecedent_implications.present?
html << "<p class='hint'>This tag implicates "
html << raw(tag.antecedent_implications.map {|x| link_to(x.consequent_name, show_or_new_wiki_pages_path(:title => x.consequent_name))}.join(", "))
html << " (#{link_to "learn more", wiki_pages_path(title: "help:tag_implications")}).</p>"
end
if tag.consequent_implications.any?
if tag.consequent_implications.present?
html << "<p class='hint'>The following tags implicate this tag: "
html << raw(tag.consequent_implications.map {|x| link_to(x.antecedent_name, show_or_new_wiki_pages_path(:title => x.antecedent_name))}.join(", "))
html << " (#{link_to "learn more", wiki_pages_path(title: "help:tag_implications")}).</p>"