diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2017-10-09 15:18:59 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2017-10-09 16:06:04 +0900 |
commit | c5ab6e51a7b9ee05a2d262a72c7130b9c1d1b0ce (patch) | |
tree | 2d8ac7f3e896045390ec35455cf61a0bc25275f5 /activerecord/lib/active_record/relation.rb | |
parent | b1e7bb9ed7ddbb29fd788dee1c3f2ba2626bd7ac (diff) | |
download | rails-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.rb | 3 |
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 |