aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/alias_tracker.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-10-24 21:47:11 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-10-24 21:47:11 +0900
commit019583e939f6615590a4d6c1e4370e4e973fedff (patch)
tree8a71f645e7ca081451a0ae901afc70857e32a229 /activerecord/lib/active_record/associations/alias_tracker.rb
parentd147ed02a00fe50f3428962dfadb5de076c56a5e (diff)
downloadrails-019583e939f6615590a4d6c1e4370e4e973fedff.tar.gz
rails-019583e939f6615590a4d6c1e4370e4e973fedff.tar.bz2
rails-019583e939f6615590a4d6c1e4370e4e973fedff.zip
Ensure associations doesn't table name collide with aliased joins
Currently alias tracker only refer a table name, doesn't respect an alias name. Should use `join.left.name` rather than `join.left.table_name`.
Diffstat (limited to 'activerecord/lib/active_record/associations/alias_tracker.rb')
-rw-r--r--activerecord/lib/active_record/associations/alias_tracker.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/alias_tracker.rb b/activerecord/lib/active_record/associations/alias_tracker.rb
index 6bac5fd3f5..07bd0a273b 100644
--- a/activerecord/lib/active_record/associations/alias_tracker.rb
+++ b/activerecord/lib/active_record/associations/alias_tracker.rb
@@ -31,7 +31,7 @@ module ActiveRecord
/JOIN(?:\s+\w+)?\s+(?:\S+\s+)?(?:#{quoted_name}|#{name})\sON/i
).size
elsif join.respond_to? :left
- join.left.table_name == name ? 1 : 0
+ join.left.name == name ? 1 : 0
elsif join.is_a?(Hash)
join[name]
else