From ced86aa8900aa9a1cf46a0428f6e0bfc742a6953 Mon Sep 17 00:00:00 2001
From: Guo Xiang Tan <tgx_world@hotmail.com>
Date: Tue, 23 Feb 2016 16:00:39 +0800
Subject: [PATCH] FIX: N+1 query on topics view page.

---
 lib/freedom_patches/translate_accelerator.rb | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/lib/freedom_patches/translate_accelerator.rb b/lib/freedom_patches/translate_accelerator.rb
index 517357d5919..4b41a24c271 100644
--- a/lib/freedom_patches/translate_accelerator.rb
+++ b/lib/freedom_patches/translate_accelerator.rb
@@ -106,13 +106,19 @@ module I18n
 
       by_site = @overrides_by_site[site]
 
-      unless by_site && by_site.has_key?(locale)
+      if by_site.nil? || !by_site.has_key?(locale)
         by_site = @overrides_by_site[site] = {}
 
         # Load overrides
-        TranslationOverride.where(locale: locale).pluck(:translation_key, :value).each do |tuple|
-          by_locale = by_site[locale] ||= {}
-          by_locale[tuple[0]] = tuple[1]
+        translations_overrides = TranslationOverride.where(locale: locale).pluck(:translation_key, :value)
+
+        if translations_overrides.empty?
+          by_site[locale] = {}
+        else
+          translations_overrides.each do |tuple|
+            by_locale = by_site[locale] ||= {}
+            by_locale[tuple[0]] = tuple[1]
+          end
         end
       end