From 54fcbb881d1d707d65d38cd30f50049023448832 Mon Sep 17 00:00:00 2001 From: Emilio Tagua Date: Wed, 19 Aug 2009 17:45:13 -0300 Subject: Make sure join association methods are called once. --- activerecord/lib/active_record/base.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'activerecord/lib/active_record/base.rb') diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index dc439ff92e..b0286f7409 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -1815,11 +1815,11 @@ module ActiveRecord #:nodoc: join_dependency = ActiveRecord::Associations::ClassMethods::JoinDependency.new(self, joins, nil) relation = arel_table.relation join_dependency.join_associations.map { |association| - if association.relation.is_a?(Array) - [Arel::InnerJoin.new(relation, association.relation.first, association.association_join.first).joins(relation), - Arel::InnerJoin.new(relation, association.relation.last, association.association_join.last).joins(relation)].join() + if (association_relation = association.relation).is_a?(Array) + [Arel::InnerJoin.new(relation, association_relation.first, association.association_join.first).joins(relation), + Arel::InnerJoin.new(relation, association_relation.last, association.association_join.last).joins(relation)].join() else - Arel::InnerJoin.new(relation, association.relation, association.association_join).joins(relation) + Arel::InnerJoin.new(relation, association_relation, association.association_join).joins(relation) end }.join(" ") end -- cgit v1.2.3