From c09829e03db611b46bb52e2054991222cf57bfbe Mon Sep 17 00:00:00 2001 From: Andrew Horner Date: Thu, 18 Apr 2013 23:41:58 -0500 Subject: Preserve context for joins while merging relations This is a backport of #10164, already merged into master. The issue is described in lengthy detail in issues #3002 and #5494. --- .../active_record/associations/join_dependency/join_association.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'activerecord/lib/active_record/associations/join_dependency') 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 03963ab060..becf1a3f62 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 -- cgit v1.2.3