aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/join_dependency/join_association.rb
diff options
context:
space:
mode:
authorJared Armstrong <jared.armstrong@gmail.com>2012-03-17 00:37:56 +1300
committerJared Armstrong <jared.armstrong@gmail.com>2012-05-04 22:57:01 +1200
commit0d8cf53296a4d7c1e6d85c533784a2607bfe3baa (patch)
treea90db9c03a9617c940ab8221f9566100d737a083 /activerecord/lib/active_record/associations/join_dependency/join_association.rb
parent5f62c86b50f21ef14ffda1112a8cd002e87590ca (diff)
downloadrails-0d8cf53296a4d7c1e6d85c533784a2607bfe3baa.tar.gz
rails-0d8cf53296a4d7c1e6d85c533784a2607bfe3baa.tar.bz2
rails-0d8cf53296a4d7c1e6d85c533784a2607bfe3baa.zip
Allow ActiveRecord::Relation merges to maintain context of joined associations
Diffstat (limited to 'activerecord/lib/active_record/associations/join_dependency/join_association.rb')
-rw-r--r--activerecord/lib/active_record/associations/join_dependency/join_association.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/join_dependency/join_association.rb b/activerecord/lib/active_record/associations/join_dependency/join_association.rb
index 0d7d28e458..ea4856408d 100644
--- a/activerecord/lib/active_record/associations/join_dependency/join_association.rb
+++ b/activerecord/lib/active_record/associations/join_dependency/join_association.rb
@@ -55,7 +55,12 @@ module ActiveRecord
def find_parent_in(other_join_dependency)
other_join_dependency.join_parts.detect do |join_part|
- parent == join_part
+ case parent
+ when JoinBase
+ parent.active_record == join_part.active_record
+ else
+ parent == join_part
+ end
end
end