aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2013-04-10 09:24:37 -0700
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-04-10 09:24:37 -0700
commit8c883855b40d4ecfb52329ab2de72755be6ad1ba (patch)
tree67a973f866c2371bbb07ee2457ed992d08d46de7 /activerecord/lib/active_record/associations
parentd716fe05dfc174af4d840258b52e690ff754c8c3 (diff)
parentdc764fcc348d562376add26ff8ef5173946b575b (diff)
downloadrails-8c883855b40d4ecfb52329ab2de72755be6ad1ba.tar.gz
rails-8c883855b40d4ecfb52329ab2de72755be6ad1ba.tar.bz2
rails-8c883855b40d4ecfb52329ab2de72755be6ad1ba.zip
Merge pull request #10164 from neerajdotname/3002-final
While merging relations preserve context for joins
Diffstat (limited to 'activerecord/lib/active_record/associations')
-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 7fa0844a5e..ae1b38ff86 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.base_klass == join_part.base_klass
+ else
+ parent == join_part
+ end
end
end