From 7d8fd5723600c1290177e665cfd8136031f8abd1 Mon Sep 17 00:00:00 2001
From: Aaron Patterson <aaron.patterson@gmail.com>
Date: Fri, 10 Dec 2010 11:37:55 -0800
Subject: no more manager manipulation if there is no custom join ast

---
 activerecord/lib/active_record/relation/query_methods.rb | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 145ae6ca97..08b61c9752 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -270,12 +270,11 @@ module ActiveRecord
         manager = association.join_to(manager)
       end
 
-      if manager.froms.length > 0 && join_ast
-        join_ast.left = manager.froms.first
-        manager.from join_ast
-      else
-        manager
-      end
+      return manager unless join_ast
+
+      join_ast.left = manager.froms.first
+      manager.from join_ast
+      manager
     end
 
     def build_select(arel, selects)
-- 
cgit v1.2.3