aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-10-09 15:18:59 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-10-09 16:06:04 +0900
commitc5ab6e51a7b9ee05a2d262a72c7130b9c1d1b0ce (patch)
tree2d8ac7f3e896045390ec35455cf61a0bc25275f5 /activerecord/lib/active_record/relation.rb
parentb1e7bb9ed7ddbb29fd788dee1c3f2ba2626bd7ac (diff)
downloadrails-c5ab6e51a7b9ee05a2d262a72c7130b9c1d1b0ce.tar.gz
rails-c5ab6e51a7b9ee05a2d262a72c7130b9c1d1b0ce.tar.bz2
rails-c5ab6e51a7b9ee05a2d262a72c7130b9c1d1b0ce.zip
Joined tables in association scope doesn't use the same aliases with the parent relation's aliases
Building association scope in join dependency should respect the parent relation's aliases to avoid using the same alias name more than once. Fixes #30681.
Diffstat (limited to 'activerecord/lib/active_record/relation.rb')
-rw-r--r--activerecord/lib/active_record/relation.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb
index 1f59a0c53a..997cfe4b5e 100644
--- a/activerecord/lib/active_record/relation.rb
+++ b/activerecord/lib/active_record/relation.rb
@@ -551,7 +551,8 @@ module ActiveRecord
limit_value || offset_value
end
- def alias_tracker(joins = []) # :nodoc:
+ def alias_tracker(joins = [], aliases = nil) # :nodoc:
+ joins += [aliases] if aliases
ActiveRecord::Associations::AliasTracker.create(connection, table.name, joins)
end